我想檢查我的查詢是否在方法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