データセットを使用せずに、2 つの変数を使用して winform から更新クエリを実行しようとしています。両方の変数を割り当ててからクエリを実行しましたが、zcomp が有効な列名ではないというエラーが表示され続けます。もちろんこれは正しいですが、= zcomp と言う前にどの列かを伝えます。以下は、クエリを実行している私のコードです。
Dim zamnt As Integer = WopartsDataGridView.Rows(e.RowIndex).Cells(e.ColumnIndex).Value
Dim zcomp As Integer = gridRow.Cells(0).Value
Dim con As New SqlConnection
Dim cmd As New SqlCommand
Try
con.ConnectionString = "Data Source=MNT-MGR-2\SQLEX;Initial Catalog=MT;Integrated Security=True"
con.Open()
cmd.Connection = con
cmd.CommandText = "UPDATE dbo.sparts SET [dbo.sparts.QtyonHand] = [dbo.sparts.QtyonHand] - zamnt WHERE [ComponentID] = zcomp"
cmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show("Error while updating record on table..." & ex.Message, "Update Records")
Finally
con.Close()
gridRow.Cells(4).Value = "Yes"
End Try
私はそれをいくつかの異なる方法で試しました。zamnt と zcomp を取り出して、変数にある実際の数値を入れれば、問題なく動作します。この更新クエリで変数を使用する方法を一日中探していました。ありがとう、ステイシー