1

这是我的 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 的列具有 datatype bigint。但是,我总是收到此错误

Conversion from string "INSERT INTO Products_Archive VAL" to type 'Double' is not valid.

顺便说一句,我使用 sql server 和 vb.net

4

1 回答 1

1

在 VB 中,您应该使用&而不是+连接字符串。

使用+,在您的情况下,它(错误地)将您的陈述解释为总和而不是串联。该错误来自将 SQL 语句字符串隐式转换为 adouble以执行添加。

于 2013-01-27T08:04:08.813 回答