我試圖通過檢查後端表是否將其中一列設置爲「NO」來使用ExecuteScalar
函數。如果其中一列設置爲NO,那麼我想調用SendEmail
函數,否則我想調用Delete_Record
函數。我的問題是它總是調用Delete_Record
函數,並且從不調用SendEmail
函數。 Post_ID
的數據類型是varchar,我不知道這與這有什麼關係;我似乎無法弄清楚發生了什麼。有人可以幫忙嗎? 這裏是我的代碼:在asp.net中使用ExecuteScalar函數時出現問題
SqlCommand cmd = new SqlCommand("SELECT count(*) from MyTable WHERE Post_ID [email protected]_ID And (Column1='No' OR Column2='No' OR Column3='No')", con);
cmd.Parameters.Add("@Post_ID", SqlDbType.VarChar).Value = Post_ID;
cmd.Connection = con;
con.Open();
Int32 result = (int)cmd.ExecuteScalar();
if (result == 1)
{
SendEmail();
}
else
{
Delete_Record();
}
可以多一個嗎?你可以檢查結果值嗎? – Epsilon
如果結果爲0(沒有符合條件的記錄)或大於1(超過1條記錄匹配)會怎麼樣? – shahkalpesh
您是否期待結果正好是'1',可能會有更多記錄滿足您的條件,請設置一個斷點來查看正在返回的內容,或者將您的條件更改爲'(result> = 1)' – Habib