这是我的SQL命令:
sqlcom1 = New SqlCommand("INSERT INTO Products_Archive VALUES ('" + arno1 + "','" +
ds.Tables("Products").Rows(myval).Item(0) + "','" +
ds.Tables("Products").Rows(myval).Item(1) + "','" +
ds.Tables("Products").Rows(myval).Item(2) + "','" +
ds.Tables("Products").Rows(myval).Item(3) + "','" +
ds.Tables("Products").Rows(myval).Item(4) + "','" +
ds.Tables("Products").Rows(myval).Item(5) + "'," +
ds.Tables("Products_Archive").Rows(myval).Item(6) + "," +
ds.Tables("Products_Archive").Rows(myval).Item(7) + ",'" +
ds.Tables("Products").Rows(myval).Item(8) + ",'" +
ds.Tables("Products").Rows(myval).Item(9) + "'," +
ds.Tables("Products").Rows(myval).Item(10) + "," +
ds.Tables("Products").Rows(myval).Item(11) + "," +
ds.Tables("Products").Rows(myval).Item(12) + "," +
ds.Tables("Products").Rows(myval).Item(13) + "," +
ds.Tables("Products").Rows(myval).Item(14) + ")", con1)
sqlcom1.ExecuteNonQuery()
数据集 6、7、8、10、11、12、13 和 14 的列的数据类型为 bigint
。但是,我总是收到此错误
Conversion from string "INSERT INTO Products_Archive VAL" to type 'Double' is not valid.
顺便说一下,我使用sql服务器和 vb.net
在 VB 中,您应该使用 &
而不是 +
来连接字符串。
对于+
,在您的情况下,它(错误地)将您的陈述解释为总和而不是串联。该错误来自将 SQL 语句字符串隐式转换为double
以执行添加。