0
私はユーザーがデータを入力できる小さなDataGridViewを持っています。DataGridViewからデータベースにデータを挿入する
そして私は、データベースへのDataGridViewにデータを入力するには、このコードをしようとしています。
strQry = "INSERT INTO Emp_Fam_Details (empID, famName, famAge, famRelation, famOccup)" _
& "VALUES (@ID, @Name, @Age, @Rel, @Occ)"
Dim adapFam As New SqlDataAdapter
adapFam.InsertCommand = New SqlCommand(strQry, sqlcon)
For i As Integer = 0 To grdFamily.Rows.Count - 1
adapFam.InsertCommand.Parameters.AddWithValue("@ID", txtEmpID.Text.Trim)
adapFam.InsertCommand.Parameters.AddWithValue("@Name", grdFamily.Columns(0))
adapFam.InsertCommand.Parameters.AddWithValue("@Age", grdFamily.Columns(1))
adapFam.InsertCommand.Parameters.AddWithValue("@Rel", grdFamily.Columns(2))
adapFam.InsertCommand.Parameters.AddWithValue("@Occ", grdFamily.Columns(3))
result2 = adapFam.InsertCommand.ExecuteNonQuery()
Next
これを実行すると、このエラーが発生します。
私はSOにここthis解決策を見つけましたが、私は値を付加していないパラメータを使用していているので、私はパラメータでそれを行う方法を理解することに苦労しています。
誰でもこの方法を教えてください。
ありがとうございます。
これは素晴らしいです。どうもありがとうございます。私はここで少し問題に直面していますが。私がそれを実行すると、最初の行は正常に挿入されますが、2番目の行を挿入すると、[this](http://i41.tinypic.com/5zgriu.png)エラーがスローされます。パラメータなどを_refresh_する方法がありますか? – Isuru
さて、ループの中にパラメータを追加しています。つまり、すべてのiに対してパラメータを追加しています。ループの前にパラメータを追加し、ループ内に値を割り当ててください。それはうまくいくはずです... – Kaf
'ExecuteNonQuery'の後に' adapFam.InsertCommand.Parameters.Clear() 'を使用しました。今はうまくいく。ご協力ありがとうございました。 – Isuru