Spaltenname oder Anzahl der angegebenen Werte stimmen nicht mit der Tabellendefinition überein. - Die Grundursache kann nicht identifiziert werden.
Getting error on
cmd.ExecuteNonQuery ()
Mein aktueller 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
Niedergebundener Wert von vValues = 0
un
berer 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 diesen Fehler erhalte, da alles in Ordnung zu sein scheint ...
Spaltenname oder Anzahl der angegebenen Werte stimmen nicht mit der Tabellendefinition überein.
Irgendwelche Vorschläge
Auf der Grundlage des Antwortpostens habe ich es endlich in einer Schleife geschafft, damit ich in Zukunft die notwendigen Zeichenfolgen nicht verpasse.
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