Oracle 数据库与 C# 之间的连接

我正在尝试使用 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";返回任何行,但在我的数据库中,相同的查询可以正常工作。


任何形式的帮助将不胜感激。


慕勒3428872
浏览 115回答 1
1回答

LEATH

HasRows您应该在调用 readerRead()方法之前检查属性。尝试: if (dr.HasRows) {   while (dr.Read())   {     ....
打开App,查看更多内容
随时随地看视频慕课网APP