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