SQL 服务器 - 从字符串"INSERT INTO Products_Archive VAL"到类型 'Double' 的转换无效



这是我的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以执行添加。

相关内容

最新更新