VALUES(?,?,?,?,?)

01/01/2008 - 12:47 von Anton Hengg | Report spam
Hallo Zusammen,

erst mal ein gutes und gesundes neues Jahr!

VB2005 und SQLServer 2000
Weiß jemand von Euch warum dieser SQL-String nicht funktioniert?
Fehlermeldung: Variable @strFormName muß deklariert werden!
Laut Microsoft müßte das aber funktionieren.


strSQL = "INSERT INTO Tb_History (strFormName, strDataPrimaryKey,
strUserName, strKategorie, dteDate) " & _
"VALUES (@strFormName, @strDataPrimaryKey, @strUserName,
@strKategorie, @dteDate); " & _
"SELECT CAST(scope_identity() as int);"
Using conn As New OleDbConnection(Cnn.ConnectionString)
Dim inscmd As New OleDbCommand(strSQL, conn)
inscmd.Parameters.Add("@strFormName", OleDbType.VarWChar)
inscmd.Parameters("@strFormName").Value = Herkunft
inscmd.Parameters.Add("@strDataPrimaryKey", OleDbType.VarWChar)
inscmd.Parameters("@strDataPrimaryKey").Value = rw(PrimaryKey).ToString
usw.


Wenn ich VALUES mit ? tausche funktioniert der Code


strSQL = "INSERT INTO Tb_History (strFormName, strDataPrimaryKey,
strUserName, strKategorie, dteDate) " & _
"VALUES (?,?,?,?,?); " & _
"SELECT CAST(scope_identity() as int);"
Using conn As New OleDbConnection(Cnn.ConnectionString)
Dim inscmd As New OleDbCommand(strSQL, conn)
inscmd.Parameters.Add("@strFormName", OleDbType.VarWChar)
inscmd.Parameters("@strFormName").Value = Herkunft
inscmd.Parameters.Add("@strDataPrimaryKey", OleDbType.VarWChar)
inscmd.Parameters("@strDataPrimaryKey").Value = rw(PrimaryKey).ToString
usw.

Gruß
Anton
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
01/01/2008 - 14:59 | Warnen spam
Hallo Anton,

"Anton Hengg" schrieb

VB2005 und SQLServer 2000


-^^^^^^^^^^^^^^
...
Using conn As New OleDbConnection(Cnn.ConnectionString)
Dim inscmd As New OleDbCommand(strSQL, conn)



Nimm SqlConnection und SqlCommand, dann klappt das auch :)

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen