Recomendado: múltiples presentaciones repetidas de formularios restringidos en ASP En Internet, encontramos innumerables formularios todos los días, y también vemos que la mayoría de ellos no restringen a los usuarios que envíen el mismo formulario varias veces. La falta de tales restricciones a veces puede producir algunos resultados inesperados, como suscripción duplicada a los servicios de correo electrónico o la votación duplicada. Este artículo presenta un método simple en aplicaciones ASP para evitar que los usuarios envíen el mismo formulario varias veces durante la sesión actual.
La entrada por lotes se usa ampliamente en bases de datos, y hay muchos métodos para la entrada de lotes. A continuación, hablaré sobre cómo lo logré en función de mi aplicación real. El uso principal es el concepto de recopilación de formularios, que toma todos los datos en la recopilación a través del bucle. Teniendo en cuenta que es conveniente que todos lo vean, lo integré en una página.
Aquí está el código específico:
| El siguiente es el contenido citado: <% 'Escriba datos en la base de datos Sub Writedata () Dim Reccnt, yo Dim FieldName1, FieldName2, FieldName3 Dim CONN Dim SQLSTR, Connstr connstr = proveedor = sqloledb.1; catálogo inicial = myDatabase; data source = myhon; user id = sa; contraseña = Establecer conn = server.createObject (ADODB.Connection) Conn.open Connstr 'Crear una conexión de base de datos Reccnt = request.form (stu_num) .count 'cuántos registros hay en total 'Datos de entrada por lotes para i = 1 a Reccnt fieldName1 = trim (request.form (fieldName1) (i)) fieldName2 = TRIM (request.form (fieldName2) (i)) fieldName3 = TRIM (request.form (fieldName3) (i)) sqlstr = insertar en valores mytable (fieldName1, fieldName2, fieldName3) (' SQLSTR = SQLSTR & FIELDNAME1 & ',' SQLSTR = SQLSTR & FIELDNAME2 & ',' SQLSTR = SQLSTR & FIELDNAME3 & ') 'Response.WRITE SQLSTR Conn.Execute (SQLSTR) próximo Final 'Mostrar interfaz de entrada por lotes SubputData () Dim Reccnt, yo %> <form de nombre = BathInputData Action = Method = Post> <% Reccnt = cint (request.form (reccnt)) para i = 1 a Reccnt %> <input type = text name = fieldName1> <input type = text name = fieldName2> <input type = text name = fieldName3> <% próximo %> <br> <input type = Subt name = Action value = Envit> </form> <% Final 'Especifique cuántos registros se ingresarán en lotes Sub cesionhowmuch () %> <! ------ especifique cuántos registros ingresar -----------------------> <form de nombre = form1 acción = método = post> El número de registros que desea ingresar: <input type = text name = Reccnt> <Entrada tipo = enviar nombre = valor de acción = next >>> </form> <% Final if request.form (acción) = next >> entonces Llamar inputData () 'Mostrar interfaz de entrada por lotes Elsef Soly.Form (Action) = Commit y luego llamar a WRITEDATA () 'Batch Escribir datos en la base de datos demás Llamar a asignehowmuch () 'Muestre la interfaz que especifica cuántos registros se ingresarán final si %> |
Compartir: Soluciones para la consulta múltiple ASP A menudo encontramos múltiples problemas de consulta, y las largas declaraciones de SQL a menudo confunden a los monjes. Especialmente cuando la parte del cliente llena las condiciones de consulta, será aún más difícil usar métodos ordinarios. Lo siguiente usa hábilmente la identidad de donde 1 = 1 (de hecho, es mucho, solo que tenga un valor de verdad) para resolver este problema. Resumen de texto 'Título de la información del asunto'com