C# 清除数据库表

C# 清除数据库表,c#,sql,C#,Sql,我正在使用以下代码清除数据库表: public void ClearAll() { SqlCommand info = new SqlCommand(); info.Connection = con; info.CommandType = CommandType.Text; info.CommandText = "edit_.Clear()"; } 为什么不起作用?您需要执行命令,因此info.execute或info.ExecuteNonQuery。尝试inf

我正在使用以下代码清除数据库表:

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

为什么不起作用?

您需要执行命令,因此info.execute或info.ExecuteNonQuery。

尝试info.CommandText='DELETE FROM edit'

CommandText属性是运行的TSQL语句


您还需要一个info.ExecuteNonQuery

使用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决定是使用TRUNCATE语句还是DELETE语句

使用TRUNCATE重置表及其所有记录和索引:

using (SqlCommand command = connection.CreateCommand())
{
    command.CommandType = CommandType.Text;
    command.CommandText = "TRUNCATE TABLE [dbo].[Edit_]";
    command.ExecuteNonQuery();
}
使用“删除”删除所有记录,但不重置标识/自动增量列

using (SqlCommand command = connection.CreateCommand())
{
    command.CommandType = CommandType.Text;
    command.CommandText = "DELETE FROM [dbo].[Edit_]";
    command.ExecuteNonQuery();
}
请注意,样本中还有一行。在您提供的示例中,在调用ExecuteXXX方法(如ExecuteOnQuery)之前,SQL语句永远不会执行

2确保您使用了正确的对象是否确定其名为“编辑”?。我建议将模式放在表名之前,如前面的示例所示


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

什么是编辑?清除;代表什么?什么数据库和哪个版本??SQL只是结构化查询语言-一种被许多数据库系统使用的语言-SQL不是数据库产品。。。像这样的东西通常是特定于供应商的——所以我们真的需要知道您使用的是什么数据库系统……不,不‘从t中删除’、‘截断表’public void ClearAll{SqlCommand info=new SqlCommand;info.Connection=con;info.CommandType=CommandType.Text;info.CommandText=DELETE*FROM edit_u;info.ExecuteNonQuery;}不起作用:@suffix:Try with info.CommandText=DELETE FROM edit\无星号*字符。请确保将SQLConnection设置为连接字符串的任意值,并确保表名为edit\并且您使用的任何连接设置都具有读写权限。您会收到什么错误?请使用类似SQL Profiler的工具为了检查它是否真的执行了SQL语句,并向我们提供更多详细信息……我没有收到任何错误,但我可以从该表中搜索、从该表中删除并插入但不清除:如果可以删除,也可以清除,这实际上不是一条现有语句,但相当于不带WHERE条件的delete。