我使用下面的代碼清除數據庫表:清除數據庫表
public void ClearAll()
{
SqlCommand info = new SqlCommand();
info.Connection = con;
info.CommandType = CommandType.Text;
info.CommandText = "edit_.Clear()";
}
爲什麼它不工作?
我使用下面的代碼清除數據庫表:清除數據庫表
public void ClearAll()
{
SqlCommand info = new SqlCommand();
info.Connection = con;
info.CommandType = CommandType.Text;
info.CommandText = "edit_.Clear()";
}
爲什麼它不工作?
嘗試info.CommandText='DELETE FROM edit_';
在CommandText屬性是正在運行的TSQL語句(S)。
您還需要一個info.ExecuteNonQuery();
不,沒有'從t刪除','截斷表' – Icarus
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
@suffix:試着用'info.CommandText =「DELETE FROM edit_」'。沒有明星'*'字符。 – Otiel
與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();
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)確保使用正確的連接字符串。也許一切工作正常的生產環境;-)
謝謝殭屍,但它仍然不起作用 – suffix
你收到了什麼錯誤?使用類似SQL Profiler的東西來檢查它是否真的執行了SQL語句,併爲我們提供了更多詳細信息... – CodeZombie
我沒有收到任何錯誤,但我可以從該表中搜索,從該表中刪除並插入但不明確:S – suffix
什麼'edit_.Clear()「;'代表? – CodeZombie
edit_是表名 – suffix
**什麼**數據庫和哪個版本** SQL **只是結構化查詢語言 - 許多**數據庫系統使用的語言 - ** SQL **是**不是**數據庫產品......這樣的東西通常是**供應商特定的** - 所以我們真的需要知道你正在使用的數據庫系統** –