2011-10-28 114 views
-1

我使用下面的代碼清除數據庫表:清除數據庫表

public void ClearAll() 
{ 
    SqlCommand info = new SqlCommand(); 
    info.Connection = con; 
    info.CommandType = CommandType.Text; 
    info.CommandText = "edit_.Clear()"; 
} 

爲什麼它不工作?

+2

什麼'edit_.Clear()「;'代表? – CodeZombie

+0

edit_是表名 – suffix

+0

**什麼**數據庫和哪個版本** SQL **只是結構化查詢語言 - 許多**數據庫系統使用的語言 - ** SQL **是**不是**數據庫產品......這樣的東西通常是**供應商特定的** - 所以我們真的需要知道你正在使用的數據庫系統** –

回答

1

您需要執行該命令,以便info.Execute()或info.ExecuteNonQuery()。

+0

是ive試過,但仍然沒有運氣 – suffix

1

嘗試info.CommandText='DELETE FROM edit_';

在CommandText屬性是正在運行的TSQL語句(S)。

您還需要一個info.ExecuteNonQuery();

+1

不,沒有'從t刪除','截斷表' – Icarus

+0

public void ClearAll ) \t \t \t { \t \t \t S qlCommand info = new SqlCommand(); \t \t \t info。 Connection = con; \t \t \t info。 CommandType = CommandType。文本; \t \t \t info。 CommandText =「DELETE * FROM edit_」; \t \t \t info。 ExecuteNonQuery(); \t \t \t} did not work :( – suffix

+1

@suffix:試着用'info.CommandText =「DELETE FROM edit_」'。沒有明星'*'字符。 – Otiel

4

與SQL命令你通常通過一個TSQL語句來執行。嘗試更多的東西一樣,

SqlConnection con = new SqlConnection(ConfigurationSettings.AppSettings["con"]); 
SqlCommand cmd = new SqlCommand(); 
cmd.CommandText = "DELETE FROM Edit_ "; 
cmd.Connection = con; 
con.Open(); 
cmd.ExecuteNonQuery(); 
con.Close(); 
+0

也沒有工作 – suffix

+0

請確保您將您的SQLConnection設置爲任何連接字符串,並確保表格名稱爲Edit_,並且您正在使用的任何連接設置都具有讀取和寫入權限。 – benjamin

0

1)決定是否使用截斷或DELETE語句

使用TRUNCATE表與所有的記錄和索引重置:

using (SqlCommand command = connection.CreateCommand()) 
{ 
    command.CommandType = CommandType.Text; 
    command.CommandText = "TRUNCATE TABLE [dbo].[Edit_]"; 
    command.ExecuteNonQuery(); 
} 

使用delete刪除所有記錄但不重置身份/自動增量列

using (SqlCommand command = connection.CreateCommand()) 
{ 
    command.CommandType = CommandType.Text; 
    command.CommandText = "DELETE FROM [dbo].[Edit_]"; 
    command.ExecuteNonQuery(); 
} 

請注意,樣本中還有另一行。在您提供的示例中,直到您調用ExecuteXXX()方法之一(如ExecuteNonQuery())之後,纔會執行SQL語句。

2)確保你使用正確的對象(你確定它叫edit_?)。我建議像前面的示例一樣將表格放在表名之前。

3)確保使用正確的連接字符串。也許一切工作正常的生產環境;-)

+0

謝謝殭屍,但它仍然不起作用 – suffix

+1

你收到了什麼錯誤?使用類似SQL Profiler的東西來檢查它是否真的執行了SQL語句,併爲我們提供了更多詳細信息... – CodeZombie

+0

我沒有收到任何錯誤,但我可以從該表中搜索,從該表中刪除並插入但不明確:S – suffix