我正在嘗試使用 Visual Studio Win 表單創建簡單的登錄頁面。我有用戶名和密碼作為文本框控件。這是應該檢查數據庫中是否存在此類用戶的事件:if (con.State != ConnectionState.Open) { con.Open(); } OracleCommand cmd = con.CreateCommand(); cmd.CommandText = "select staff_username, staff_password from staff_accounts"; cmd.CommandType = CommandType.Text; OracleDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { if (dr.HasRows) { if (username.Text == dr["staff_username"].ToString() && pass.Text == dr["staff_password"].ToString()) { admin.ShowDialog(); } else { label1.Text = "Error"; } } }dr.HasRows返回 false,因此這意味著不cmd.CommandText = "select staff_username, staff_password from staff_accounts";返回任何行,但在我的數據庫中,相同的查詢可以正常工作。任何形式的幫助將不勝感激。
1 回答

LEATH
TA貢獻1936條經驗 獲得超7個贊
HasRows您應該在調用 readerRead()方法之前檢查屬性。嘗試:
if (dr.HasRows)
{
while (dr.Read())
{
....
- 1 回答
- 0 關注
- 136 瀏覽
添加回答
舉報
0/150
提交
取消