Empfohlen: Mehrere wiederholte Einreichungen von eingeschränkten Formularen in ASP Im Internet begegnen wir jeden Tag auf unzählige Formulare, und wir sehen auch, dass die meisten von ihnen Benutzer nicht mehrmals das gleiche Formular einreichen. Das Fehlen solcher Einschränkungen kann manchmal einige unerwartete Ergebnisse erzielen, z. B. das doppelte Abonnement für E -Mail -Dienste oder doppelte Abstimmung. In diesem Artikel wird eine einfache Methode in ASP -Anwendungen vorgestellt, mit denen Benutzer während der aktuellen Sitzung mehrmals das gleiche Formular einreichen
Der Batch -Eintrag wird in Datenbanken häufig verwendet, und es gibt viele Methoden für den Stapeleintrag. Als nächstes werde ich darüber sprechen, wie ich es basierend auf meiner tatsächlichen Anwendung erreicht habe. Die Hauptverwendung ist das Konzept der Formsammlung, das alle Daten in der Sammlung durch Schleife nimmt. In Anbetracht der Tatsache, dass es für alle bequem zu sehen ist, habe ich es in eine Seite integriert.
Hier ist der spezifische Code:
| Das Folgende ist der zitierte Inhalt: <% 'Schreiben Sie Daten in die Datenbank Subwititedata () Dim reccnt, ich Dim Fieldname1, Fieldname2, Fieldname3 Dim Conn Dim Sqlstr, Connstr connStr = provider = SQLOLEDB.1; Erstkatalog = MyDatabase; Data Source = Myhon; Benutzer -ID = SA; Passwort = Setzen Sie conn = server.createObject (adodb.Connection) conn.open connstr 'Erstellen Sie eine Datenbankverbindung reccnt = request.form (stu_num) .count 'Wie viele Datensätze gibt es insgesamt 'Batch -Eingangsdaten für i = 1 zu reccnt FieldName1 = trim (request.form (fieldname1) (i)) fieldname2 = trim (request.form (fieldname2) (i)) fieldname3 = trim (request.form (fieldname3) (i)) sqlstr = in mytable (fieldname1, fieldname2, fieldname3) values (' SQLSTR = SQLSTR & FieldName1 & ',', ',', ',', ',', ',', ',' SQLSTR = SQLSTR & FIELDNAME2 & ',', ',', ',', ',', ',', ',', ',' SQLSTR = SQLSTR & FieldName3 & ') 'response.write sqlstr Conn.Execute (SQLStr) nächste Ende sub 'Batch -Eingangsschnittstelle anzeigen Sub inputdata () Dim reccnt, ich %> <Formular name = bathIhinputData action = methode = post> <% reccnt = cint (request.form (reccnt)) für i = 1 zu reccnt %> <Eingabe type = text name = fieldname1> <Eingabe type = text name = fieldname2> <Eingabe type = text name = fieldname3> <% nächste %> <br> <Eingabe type = senden name = Aktionswert = Senden> </form> <% Ende sub Geben Sie an, wie viele Datensätze in Chargen eingegeben werden sollen Sub AstromentenHowMuch () %> <! ------ Geben Sie an, wie viele Datensätze eingeben werden müssen -------------------> <Formular name = Form1 action = methode = post> Die Anzahl der Datensätze, die Sie eingeben möchten: <Eingabe type = textname = reccnt> <Eingabe type = senden name = Aktionswert = Weiter >>> </form> <% Ende sub Wenn request.form (action) = next >> dann Rufen Sie inputData () 'Stapel -Eintragsschnittstelle auf elseif request.form (action) = comit und rufen Sie Wititedata () 'Batch -Schreibdaten in die Datenbank auf anders Rufen Sie AstromingHowMuch () 'an, die Schnittstelle anzeigen, die angeben, wie viele Datensätze eingegeben werden müssen Ende wenn %> |
Aktien: Lösungen für ASP -Multiple -Abfrage Wir stoßen oft auf mehrere Abfrageprobleme, und lange SQL -Aussagen machen Mönche oft verwirrt. Insbesondere wenn der Client -Teil Abfragebedingungen ausfüllt, ist es noch schwieriger, normale Methoden anzuwenden. Im Folgenden wird die Identität von 1 = 1 geschickt verwendet (in der Tat ist es viel, lassen Sie es einfach einen Wert von True haben), um dieses Problem zu lösen. Textzusammenfassung 'Betreff Informationstitel'com