VB.NetのDataGridViewからSQL Serverテーブルを更新する際に問題があります。例外はNull値ではなく、I値が有効な値に設定されていることを確信している、ここでのコードは次のとおりです。パラメータ化されたクエリでは、値がnullでないところで提供されなかったパラメータが必要です
cmd.CommandText = _
"update BillItem set [email protected],[email protected],[email protected],[email protected],[email protected] where [email protected]"
cmd.Parameters.Add("@item1", SqlDbType.NVarChar)
cmd.Parameters.Add("@q1", SqlDbType.Int)
cmd.Parameters.Add("@price1", SqlDbType.Float)
cmd.Parameters.Add("@tp1", SqlDbType.Float)
cmd.Parameters.Add("@billId1", SqlDbType.Int)
cmd.Parameters.Add("@Id1", SqlDbType.Int)
connection.Open()
cmd.Connection = connection
For i As Integer = 0 To 1
cmd.Parameters(0).Value = DataGridView1.Rows(i).Cells(1).Value
cmd.Parameters(1).Value = DataGridView1.Rows(i).Cells(2).Value
cmd.Parameters(2).Value = DataGridView1.Rows(i).Cells(3).Value
cmd.Parameters(3).Value = Integer.Parse(DataGridView1.Rows(i).Cells(2).Value) * Double.Parse(DataGridView1.Rows(i).Cells(3).Value)
cmd.Parameters(4).Value = Integer.Parse(CurrentBillIDLbl.Text)
cmd.Parameters(5).Value = DataGridView1.Rows(i).Cells(0).Value
cmd.ExecuteNonQuery()
Next
connection.Close()
ここでは例外です:
タイプの未処理の例外「System.Data.SqlClientの.SqlException 'System.Data.dllで発生しました
追加情報: (@item nvarchar(4)、@ quantity int、@ price float、@ tp float、@ billId 'は、パラメータ' @ q1 'を要求します。
なぜすべての数値を解析していませんか?これが理由かもしれません。 –
DGVとDB操作を一般的に使用することは、それよりはるかに簡単であることを意図しています。特に、右の行からビットごとにデータを釣り上げることに関してです。私はコードがそのエラーメッセージと一致しているとは確信していません – Plutonix
@ OlivierJacot-Descombes、私は有効な値を入力していると確信していますが、私は構文解析を試みますが、それは問題を解決しませんでした – Ateeq