2009-06-30 12 views
0

Wie Datensatz WertWie wird der Datensatzwert in die Tabelle eingefügt?

Am mit 6 Felder im Datensatz

ich in die Tabelle eingefügt werden soll eingestellt einfügen? Wie kann ich einfügen?

Abfrage verwendet

INSERT INTO table values (recordset (0), recordset (1) ….. recordset (6)) 

aber es Undefinierte Funktion „Datensatzgruppe“

Bitte dafür zeigt, wie in der Tabelle Datensatz Wert einfügen?

Frage Hilfe?

+0

Bitte geben Sie weitere Details zu dem, was Sie erreichen möchten. Was ist das für ein "Record Set"? Ist das ein ADO RecordSet? –

Antwort

0
Dim cmdCommand As New ADODB.Command 
If recordSet.EOF = False Then 

recordSet.MoveFirst 

cmdCommand.CommandText = "insert into table (field1) values (" + recordSet.Fields(0) + ")" 
cmdCommand.Execute() 
recordSet.MoveNext 
Loop Until recordSet.EOF = True 

Beachten Sie, dass Sie Zitate in varchar Feldern

0

Versuchen mit dem recordsetname.fields benötigen ("field_name") und prüfen, ob die recorsetname Variable definiert wurde. Sie können auch die Syntax recordsetname! Field_name verwenden.

0

Konstantinos gibt eine gute Antwort, aber Sie müssen nur auf das Potenzial für SQL Injection-Probleme achten.

Die einfachste Lösung wäre, nur einzelne Apostrophe durch zwei zu ersetzen.

.CommandText = "in Tabelle einfügen (field1) values ​​('" & ersetzen (recordSet.Fields (0), "'", " ''") & "')"

0

Es klingt wie Sie versuche, mehrere Datensätze mit einer einzigen Anweisung einzufügen (ein INSERT für 6 Datensätze anstelle von 6 INSERT für jeweils einen Datensatz). Wenn das der Fall ist, unterstützt das INSERT syntax es vollständig.

Hier ist ein Beispiel:

INSERT INTO MyTable 
    (row1, row2) 
SELECT 
    value1, value2 
FROM 
    OtherTable 

Wenn man es so aussehen, können Sie grundsätzlich jede SELECT-Anweisung übernehmen und die INSERT-Klausel oben drauf setzen. Natürlich müssen die Spaltennamen richtig ausgerichtet sein, damit sie funktioniert.

Verwandte Themen