2012-08-01 117 views
0

試圖執行刪除查詢並獲得在查詢表達式「CNAME VALUES @cname」以下錯誤SQL DELETE語句的語法

語法錯誤(缺少操作員)。

代碼

Dim conn As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & My.Settings.strFileName) 
conn.Open() 
Dim cmdText = "DELETE FROM products WHERE cname VALUES @cname" 
Dim cmd As OleDbCommand = New OleDbCommand(cmdText, conn) 
With cmd.Parameters 
    .Add(New OleDbParameter("@cname", DataGridView1.Item("cname", i).Value)) 
End With 
Dim dt As New DataTable("products") 
cmd.ExecuteNonQuery() 
conn.Close() 
conn = Nothing 

回答

3

你寫你的delete語句是不正確的方式。

你應該寫這樣的:

Dim cmdText = "DELETE FROM products WHERE cname = @cname" 
4

你需要操作員

DELETE FROM products WHERE cname = @cname 
-1

並以delete all從記錄與特定ID一個表,你只需要;

deleteMore: 
DELETE TOP(100) TableName WHERE toDelete='17' 
IF @@ROWCOUNT != 0 
    goto deleteMore: 

這將刪除第100條記錄,並反覆直到17所有記錄都沒有了。