1

Erste Fehler aufSpaltenname oder Anzahl der übergebenen Werte nicht Tabellendefinition - nicht imstande, die Ursache

cmd.ExecuteNonQuery()

Meine aktuellen Code

Using con As New SqlConnection(sConString) 
    Using cmd As New SqlCommand(
     "INSERT INTO MC_Entry VALUES(" & 
     "@0,@1, @2, @3, @4, @5,@6,@7,@8,@9,@10,@11,@12,@13,@14,@15,@16,@17," & 
     "@18, @19, @20, @21, @22,@23,@24,@25,@26,@27,@28,@29,@30,@31,@32,@33,@34," & 
     "@35, @36, @37, @38, @39,@40,@50,@51,@52,@53,@54)", con) 

     For MyIncremental = 0 To 54 
      cmd.Parameters.AddWithValue("@" & MyIncremental, vValues(MyIncremental)) 
     Next MyIncremental 

     'Debug.Print(UBound(vValues)) 
     'Debug.Print(LBound(vValues)) 
     'Debug.Print(Join(vValues, vbTab)) 


     con.Open() 
     cmd.ExecuteNonQuery() 
     con.Close() 
    End Using 
End Using 
zu identifizieren

Wert für den unteren Wert von vValues ​​= 0
und
Upperbound V Wert von vValues ​​= 54

Ich habe 55 Spalten in meiner SQL-Server-Tabelle mit NO Incremental-Feld und jedes Feld kann Null-Wert akzeptieren.

nicht sicher, warum ich diese Störung erhalten, da alles in Ordnung zu sein scheint ...

Spaltenname oder Anzahl der übergebenen Werte nicht Tabellendefinition.

Irgendwelche Vorschläge?

Basierend auf der Antwort Post, habe ich es endlich in Schleife gemacht, so dass ich nicht die notwendigen Saiten in Zukunft verpassen werde.

For i = 0 To 54 
    ReDim Preserve sfields(0 To i) 
    sfields(i) = "@" & i 
Next 

sConcat = Join(sfields, ",") 

Using con As New SqlConnection(sConString) 
    Using cmd As New SqlCommand("INSERT INTO MC_Entry VALUES(" & sConcat & ")", con) 

     For i = 0 To 54 
      cmd.Parameters.AddWithValue("@" & i, vValues(i)) 
     Next i 

     con.Open() 
     cmd.ExecuteNonQuery() 
     con.Close() 
    End Using 
End Using 
+1

Sind Sie verpasst '@ 41' zu' @ 49' Werte lösen? – Arulkumar

+0

Sie haben Recht ... Ich weiß nicht, wie ich diesen Teil verpasst habe. Jetzt funktioniert es gut. – Sixthsense

+0

Ich habe es in Schleife gemacht, um das fehlende String-Problem in Zukunft zu vermeiden. Aktualisiert das gleiche in meinem ersten Post :) – Sixthsense

Antwort

1

Insgesamt haben Sie 55 Spalten in der Tabelle, und Sie sind die Parameter @41-@49 fehlt, dass die den Fehler verursacht.

Fügen Sie unten, wie Ihr Problem

"INSERT INTO MC_Entry VALUES(" & 
"@0, @1, @2, @3, @4, @5, @6, @7, @8, @9, @10, @11, @12, @13, @14, @15, @16, @17," & 
"@18, @19, @20, @21, @22, @23, @24, @25, @26, @27, @28, @29, @30, @31, @32, @33," & 
"@34, @35, @36, @37, @38, @39, @40, @41, @42, @43, @44, @45, @46, @47, @48, @49," & 
"@50, @51, @52, @53, @54)", con) 
+0

Vielen Dank für Ihre schnelle Lösung und Überprüfung :) – Sixthsense

+0

@Sixthinse Froh, zu helfen, passiert es mir auch, wenn ich mich auf bestimmte Aufgabe ohne Pause konzentrieren. Mach eine Pause. Prost :) – Arulkumar

+0

Wahr. Arbeitet derzeit mit mehreren Projektumgebungen, die die Ursache sein können. – Sixthsense

Verwandte Themen