清除数据库表

本文关键字:数据库 清除 | 更新日期: 2023-09-27 18:12:56

我使用下面的代码来清除一个数据库表:

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

为什么不工作?

清除数据库表

对于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();

需要执行命令,所以info.Execute()或info.ExecuteNonQuery().

尝试info.CommandText='DELETE FROM edit_';

CommandText属性是要运行的TSQL语句。

你还需要一个info.ExecuteNonQuery();

1)决定是否使用TRUNCATE或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();
}

注意,示例中还有另一行。在示例中,您提供的SQL语句永远不会执行,直到您调用ExecuteXXX()方法之一,如ExecuteNonQuery()。

2)确保你使用正确的对象(你确定它叫edit_吗?)我建议将模式放在表名之前,就像前面的例子一样。

3)确保使用正确的连接字符串。也许在生产环境中一切正常;-)