清除数据库表
本文关键字:数据库 清除 | 更新日期: 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)确保使用正确的连接字符串。也许在生产环境中一切正常;-)