2016-08-08 15 views
-3

cmd3.ExecuteNonQuery()にエラーがあります。エラーc#.net操作で更新可能なクエリを使用する必要があります

for(int i=0; i<listView1.Items.Count;i++) 
{ 
    string query2 = "INSERT INTO OrderItems(Order_ID,Item_ID,OI_Quantity,Unit_Price) values ('"+Convert.ToInt32(textBoxId.Text)+"','"+Convert.ToInt32(this.listView1.Items[i].SubItems[5].Text.ToString())+"','"+Convert.ToInt32(this.listView1.Items[i].SubItems[3].Text.ToString())+"','"+Convert.ToInt32(this.listView1.Items[i].SubItems[2].Text.ToString())+"')"; 
    OleDbCommand cmd2= new OleDbCommand(query2,con); 
    cmd2.ExecuteNonQuery(); 

    string query3 = "UPDATE Item set stock=(select stock from Item where ID='" + Convert.ToInt32(this.listView1.Items[i].SubItems[5].Text.ToString()) + "') - '" + Convert.ToInt32(this.listView1.Items[i].SubItems[3].Text.ToString()) + "' where ID='" + Convert.ToInt32(this.listView1.Items[i].SubItems[5].Text.ToString()) + "' "; 
    OleDbCommand cmd3 = new OleDbCommand(query3, con); 
    cmd3.ExecuteNonQuery(); 
} 
+0

接続文字列は何ですか? –

+0

割り当て後にquery3には何が入っていますか? –

+0

コードの上に接続文字列を使用しました 接続に問題はありません – Mutahir

答えて

0

あなたは整数としてとらないSQLのパラメータは引用符「」で囲まれている更新クエリ、中にマイナス操作を行っています。

マイナス演算の結果を変数に格納し、その変数を更新クエリで使用することができます。

関連する問題