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 の列のデータ型はbigintです。ただし、常にこのエラーが発生します

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

ちなみに、私はSQLサーバーとvb.netを使用しています

4

1 に答える 1

1

VB では、文字列を連結する&代わりに使用する必要があります。+

を使用+すると、あなたの場合、ステートメントを(誤って)連結ではなく合計として解釈しています。doubleエラーは、追加を実行するためにSQL ステートメント文字列を暗黙的に a に変換したために発生しています。

于 2013-01-27T08:04:08.813 に答える