通过VB.NET在MS-Access上执行删除命令不会删除记录

时间:2014-09-29 12:45:38

标签: sql vb.net ms-access-2010

只是尝试删除Access表的所有行:

Private Sub btnImport_Click(sender As Object, e As EventArgs) Handles btnImport.Click

    'Clear old records from extract table
    Dim sqlConnection As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\CLI_CRVM.accdb")
    Dim cmd As New System.Data.OleDb.OleDbCommand()
    Dim intRC As Integer

    cmd.CommandType = System.Data.CommandType.Text
    cmd.CommandText = "DELETE * FROM [extract] ;"
    cmd.Connection = sqlConnection

    sqlConnection.Open()
    intRC = cmd.ExecuteNonQuery()
    sqlConnection.Close()
    MsgBox(intRC)
End Sub

我没有收到任何错误,但它也没有删除行。表中当前有10行,每次单击按钮时MsgBox显示10行,之后表中仍有10行。

我错过了什么?

1 个答案:

答案 0 :(得分:3)

不用星号试试:

DELETE FROM [extract];

您通常不会在DELETE中提供任何列。您之后只能通过WHERE子句提供要与行匹配的列。

SQL的某些方言允许您指定在查询的该部分中删除的内容的阈值 - 但是,我并不相信Access'方言(我可能是错的)。