データベーステーブルからレコードを削除するSQL文があります。それを踏んだ後、最終的な部分を除いてすべて正常に動作することがわかります(つまり、削除する行が正しく取得され、すべての変数が必要な値に一致します)。私はSQLを使い慣れていないので、次のエラーを修正する方法を教えてもらえますか? '*' の近くに不正な構文:不正なSQL構文エラー
型 'System.Data.OleDb.OleDbException' の未処理の例外は
のSystem.Data.dll
に追加情報を起こりました。
SQLクエリ:
Public Shared Sub deleteRecord(ByVal recordID As Integer, con As OleDbConnection)
Dim Dc As New OleDbCommand
Dc.Connection = con
con.Open()
Dc.CommandText = "DELETE * FROM tblData WHERE([recordID] = '" & recordID & "')"
Dc.ExecuteNonQuery()
con.Close()
End Sub
「*」を削除してください。構文は 'DELETE FROM [TABLE] WHERE [FILTERS]' –
あなたの質問をコピーしてデータベースで直接試してください...エラーはあなたに問題を伝え、星を削除します。 –
パラメータ化されたクエリを使用する必要があります。 'int'はSQLインジェクションを防ぎますが、あなたは依然として一回使用のクエリでプランキャッシュを膨らませます。 –