我想檢查我的查詢是否返回任何值,並相應地寫入其餘的邏輯。檢查返回的SQL命令在C#
SqlCommand myCommand = new SqlCommand("Select * from phc.userbase where [user]='@Username' and [password]='@password'", myConnection);
我想知道這個命令是否返回null。我試圖
myReader = myCommand.ExecuteReader();
bool rd = myReader.Read();
if rd==false
,但我無法得到它的工作。有任何想法嗎?
這裏是我的參數:
SqlParameter myParam = new SqlParameter("@Username", SqlDbType.VarChar, 25);
myParam.Value = usr;
SqlParameter myParam2 = new SqlParameter("@password", SqlDbType.VarChar, 25);
myParam2.Value = pass;
所以......你存儲的密碼作爲數據庫中的純文本?這是不好的***。另外,還不清楚你是否正確參數化 - 參數可能不應該用引號引起來。 – 2012-03-15 08:10:11
@MarcGravell這只是一個模擬demo.I計劃稍後使用MD5加密。 – deception1 2012-03-15 08:12:45
澄清:目前您正在搜索一個名爲「@ @用戶名」的用戶,密碼爲「@ Password」,這與檢查用戶名是否與參數值相同'@ Username'。我敢打賭,查詢總是返回零行,對吧? – 2012-03-15 08:14:23