对于Tuncating表,使用了什么语句?

时间:2015-09-24 05:57:21

标签: asp.net

我已经创建了一个用于触发表的sp。表名是动态的。我使用了动态sql.Sp工作正常。我想从C#.net(来自cs文件)执行sp。 我知道executenonquery返回没有受影响的行.executenonquery用于插入,更新和删除命令.Exectesclare用于只有一个cell.EceuteReader的select用于选择多个记录。我将使用哪个告诉我执行的tuncate表子句是否正确?

2 个答案:

答案 0 :(得分:2)

您可以使用ExecuteNonQuery截断表格。

try
{
    string connectionString = ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString;
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
       connection.Open();
       string commandText = "TRUNCATE TABLE myTable";
       using (SqlCommand command = new SqlCommand(commandText, connection))
       {
          command.ExecuteNonQuery();
          lblStatus.Text = "Table Deleted Successfully.";
       }
     }
}
catch(Exception ex)
{
   lblStatus.Text = "Table can not be deleted, Error " + ex.Message;
} 

答案 1 :(得分:1)

我认为最好的方法是使用ExecuteNonQuery 1.它会重新调整受该声明影响的行数 2.如果某些东西不能正常工作,你将得到一个不会被忽视的好的SqlException。

try
{
    procedure.ExecuteNonQuery();
    nextStep.ExecuteWhatever();
}
catch(SqlException e)
{
    Console.WriteLine("Oh noes!");
}