これは、最初にデータグリッドビューにデータを挿入してデータベースに挿入するコードです。vb.netを使用してSQL Serverに日付を挿入する方法
私は、コードを実行すると、私はエラー
オペランドタイプ衝突ビットを取得するには、誰も私を助けることができる日
と互換性がありませんか?事前に
おかげ
populate(txtRejectID.Text, comboBoxCardType.Text, txtEmbossName.Text, txt6CardNum.Text, txt4CardNum.Text, txtQuantity.Text, comboBoxErrorDesc.Text, embossDate.Text, txtStatus.Text)
For Each row As DataGridViewRow In DataGridView1.Rows
Dim query As String = "INSERT INTO dbo.RejectCard VALUES (@RejectID, @Card_Type, @Emboss_Name, @Card_Number, @Quantity, @Error_Description, @Emboss_Date, @Status)"
Using conn As New SqlConnection(connString)
Using cmd As New SqlCommand(query, conn)
cmd.Parameters.AddWithValue("@RejectID", row.Cells("rejectid").Value)
cmd.Parameters.AddWithValue("@Card_Type", row.Cells("cardtype").Value)
cmd.Parameters.AddWithValue("@Emboss_Name", row.Cells("embossname").Value)
cmd.Parameters.AddWithValue("@Card_Number", row.Cells("cardnumber").Value)
cmd.Parameters.AddWithValue("@Quantity", row.Cells("quantity").Value)
cmd.Parameters.AddWithValue("@Error_Description", row.Cells("errordescription").Value)
cmd.Parameters.AddWithValue("@Emboss_Date", row.Cells("emboss_Date").Value = embossDate.Value.Date.ToString("dd/MM/yyyy"))
cmd.Parameters.AddWithValue("@Status", row.Cells("status").Value)
Try
conn.Open()
cmd.Connection = conn
cmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show("Error while inserting record on table..." & ex.Message, "Insert Records")
Finally
conn.Close()
End Try
End Using
End Using
Next
MessageBox.Show("Records inserted.")
End Sub
値リストと同じ順序の値を参照するInsertの列リストを参照します。しかし、それはベストプラクティスです。 –
私はどこから始めるべきなのか苦労しています。なぜあなたはすべてのレコードに対して新しい接続を作成しますか?すべてのレコードに対して新しいコマンドを作成する必要はありません。 'ExecuteNonQuery'を呼び出すことに決めたら、接続とコマンドを1つ作成し、すべてのパラメータを追加し、接続を開き、次にループを開始する必要があります。ループでは、各パラメータの 'Value'を設定し、executeを呼び出します。さらにうまくいけば、 'DataTable'を作成してグリッドにバインドし、一つの' Update'呼び出しでロットを保存してください。 – jmcilhinney
コメントありがとうございます。私はコーディングをここから参照して、それを私のプロジェクトに実装します。私はコーディングスキルを向上させます。ありがとう –