1
私はVB.netを数週間開始しました。私はフォームを作成し、テキストボックスからデータを追加し、データベース(* .accdb)ファイルを更新したい。しかし、私が書いたコードは、次のエラーを与える:vb.net 2010のUPDATEステートメントアクセスデータベースの構文エラー
Syntax error in UPDATE statement.
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
ds6.Clear()
cmd.Connection = con
cmd.CommandText = "UPDATE Player SET pid='" + ComboBox3.Text + "', pfn='" _
+ TextBox2.Text + "',pmn='" + TextBox3.Text + "',pln='" + TextBox4.Text _
+ "',nic='" + TextBox5.Text + "',dob='" + DateTimePicker1.Value + "',telm='" _
+ MaskedTextBox1.Text + "',telh='" + MaskedTextBox2.Text + "',addr='" _
+ TextBox6.Text + "',email='" + TextBox10.Text + "',gndr='" + ComboBox1.Text _
+ "',weight='" + TextBox1.Text + "',hight'" + TextBox7.Text + "',sgrlvl'" _
+ TextBox11.Text + "',prate'" + TextBox8.Text + "' bloodg='" & ComboBox2.Text & "'"
cmd.ExecuteNonQuery()
MessageBox.Show("Player Updated")
dssql6 = "select * from Player"
da6 = New OleDb.OleDbDataAdapter(dssql6, con)
da6.Fill(ds6, "Player")
ComboBox1.Text = ("")
ComboBox2.Text = ("")
TextBox1.Text = ("")
TextBox2.Clear()
TextBox5.Clear()
TextBox3.Clear()
TextBox4.Clear()
TextBox6.Clear()
TextBox7.Clear()
TextBox8.Clear()
TextBox10.Clear()
TextBox11.Clear()
MaskedTextBox1.Clear()
MaskedTextBox2.Clear()
End Sub
エンドクラス
SQLインジェクションと書式設定の問題を回避するためのパラメータの使用方法を学びます。 – LarsTech
すべての行を同じ情報で更新していますか?そのような場合は、キー制約が発生している可能性があります。 WHERE節はありません。新しい行を挿入していますか?その場合は、INSERTコマンドを使用する必要があります。あなたにも等号がありません。 – GibralterTop
'ds6' ??? 'da6' ??? * 6つのデータセットとアダプタがあることを意味しますか?そうであれば、設計をやめて再考してください。 – Plutonix