我想检查我的查询是否在方法ExecuteNonQuery()正在运行。 这里是我在我的WCF服务代码:如何检查我的查询是否正在ExecuteNonQuery()方法中运行?
public string Execute(string query){
string connectionString = ConfigurationManager.ConnectionStrings["ConnWf"].ConnectionString;
string hasil = "ERROR";
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
string cmdStr = String.Format(query);
SqlCommand command = new SqlCommand(cmdStr, conn);
command.Connection.Open();
command.ExecuteNonQuery();
//I want to check here..
if (command.ExecuteNonQuery().HasRows) //it doesn't works :(
{
hasil = "SUCCESS \n Row Affected: " + rd.RecordsAffected;
}
else
{
hasil = "FAILED \n Row Affected: " + rd.RecordsAffected;
}
conn.Close();
}
return "Query: "+query+"\n Status: "+hasil;
}
谢谢你,它工作的行数。我还有一个关于我的问题的问题,正如你可以在'string cmdStr = String.Format(query)'中看到的那样;'我想把'query'放在'SELECT'或'INSERT'之类的东西,为什么它可以'运行该查询并只执行存储过程?再次感谢:) – blankon91 2012-07-20 01:07:40
更新:我很抱歉,但当我尝试运行'select * from my_table'时,它显示-1,但在我的数据库管理中显示'(10行受影响) '为什么在我的成功报告没有显示'10'? – blankon91 2012-07-20 02:36:41
对不起,我的回答并不清楚,它只返回受插入/删除/更新影响的行,而不是选择。为什么你会为Select语句使用ExecuteNonQuery()?如果你需要知道满足一定条件的行数,可以使用'COUNT'和'ExecuteScalar()' – GarethD 2012-07-20 07:53:20