使用C#DataReader爲空或爲空
我有一個datareader,它從mysql數據庫返回一串記錄。
我正在嘗試編寫檢查datareader是否爲空的代碼。這背後的邏輯是:如果datareader有字段,然後顯示信息,否則隱藏字段。
我曾嘗試:
cmd1 = new OdbcCommand("Select * from tb_car where vehicleno = '" + textbox2.text + "';", dbcon);
dr1 = cmd1.ExecuteReader();
if (dr1["tb_car"]. != DBNull.Value)
{
textbox1.Text = "contains data";
}
else
{
textbox1.Text = "is null";
}
上面的代碼給了我這個錯誤:
異常詳細信息:System.IndexOutOfRangeException:其他
任何幫助將不勝感激...
ps。代碼中存在一個巨大的安全漏洞,因爲您沒有使用參數。如果我輸入「';從tb_car刪除*;」進入你的文本字段,你會失去所有記錄!噢? =) – Will 2010-08-08 04:12:53
男人,我沒有明白。 @戈帕爾 - 他是對的。請務必閱讀以下內容:http://www.aspnet101.com/2007/03/parameterized-queries-in-asp-net/ – David 2010-08-08 04:15:56