2015-11-14 54 views
0

我有一種方法,我打算讓它從表中刪除所有數據。然而,即使它被調用,刪除也沒有發生。無法通過C#中的OleDB從Microsoft Access中刪除表中的所有行。

下面是方法。 我們假設數據已經加載到表中。 表「CartListClone」有5列(不包括ID)。您可以在連接字符串中看到該表派生自Access。

public void deleteEverything() { 
     OleDbConnection connect = 
      new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0; 
       Data Source=POSDB.accdb; 
       Persist Security Info = False"); 
     connect.Open(); 

     OleDbCommand command = new OleDbCommand(); 
     command.Connection = connect; 
     command.CommandText = "DELETE * FROM CartListClone"; 

    } 

截至目前,我覺得問題根源在於該方法。 有什麼我在這裏做錯了嗎? 非常感謝您的幫助。

更新:遵循斯坦的建議,下面是重寫的方法。

public void deleteEverything() { 
     OleDbConnection connect = 
      new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0; 
       Data Source=POSDB.accdb; 
       Persist Security Info = False"); 
     connect.Open(); 

     OleDbCommand command = new OleDbCommand("DELETE * FROM CartListClone"); 
     command.Connection = connect; 
     command.ExecuteNonQuery(); 
    } 

回答

3

你永遠執行command對象。你錯過了這條線在最後:

command.ExecuteNonQuery(); 
+0

啊我傻。是的,它確實工作。非常感激。 – benChung