2012-08-02 63 views
-1

我試圖解決爲什麼我的代碼不工作。提示是preciated。我也想知道,如果這個工作,主鍵,在這種情況下,ID列也會重置並從1開始全部結束?試圖刪除表中的所有內容

 connection = new SqlConnection(connectionString); 
     connection.Open(); 
     sql = "DELETE * From Guests"; 
     sqlCommand = new SqlCommand(sql, connection); 
     sqlCommand.EndExecuteNonQuery(); 
     connection.Close(); 

回答

5

你不需要星號

DELETE FROM Guests 

復位主鍵,使用

TRUNCATE TABLE Guests 

而你要

sqlCommand.ExecuteNonQuery(); 

EndExecuteNonQuery

+0

謝謝,但我已經測試它沒有*,但似乎沒有問題! – 2012-08-02 11:00:55

+0

查看上面編輯的答案 – podiluska 2012-08-02 11:01:54

+2

@ 3D-kreativ你必須使用'ExecuteNonQuery'而不是'EndExecuteNonQuery' – sloth 2012-08-02 11:02:06

3

你不需要「*」。對於DELETE語句的正確的語法是:

delete from Guests 

你也應該養成使用「使用」一次性類型,像的SqlConnection和SqlCommand的習慣。像這樣:

using (SqlConnection connection = new SqlConnection(connectionString)) 
{ 
    connection.Open(); 
    string sql = "DELETE From Guests"; 
    using (SqlCommand sqlCommand = new SqlCommand(sql, connection)) 
    { 
     sqlCommand.ExecuteNonQuery(); 
    } 
} 
+0

謝謝,但我已經測試它沒有*,但這似乎不是問題! – 2012-08-02 11:01:07