我正在尝试使用 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条经验 获得超6个赞
HasRows您应该在调用 readerRead()方法之前检查属性。尝试:
if (dr.HasRows)
{
while (dr.Read())
{
....
- 1 回答
- 0 关注
- 113 浏览
添加回答
举报
0/150
提交
取消