SQLDataReader需要一个开放且可用的连接[?]

时间:2018-04-25 08:17:18

标签: c# visual-studio-2015 sql-server-2012

我打算使用c#创建一个简单的登录表单并连接我的数据库。 但是当我登录时,我在调试程序后遇到了错误。

错误:

  

'附加信息:ExecuteReader需要开放且可用   连接。连接的当前状态已关闭。在   SqlDataReader dr = cmd.ExecuteReader()line。

这是我的登录按钮上的源代码。我还是初学者,所以请让我知道如何解决它。

        SqlConnection conn = new SqlConnection();
        conn.ConnectionString = "Data Source = LAPTOP - 13PLEMHP\\SQLEXPRESS; Initial Catalog = PERPUSTAKAAN; Integrated Security = SSPI";

        SqlCommand cmd = new SqlCommand("select * from tb_user where id_user ='" + userid.Text + "', and pwd_user='" + userpwd.Text + "'", conn);
        SqlDataReader dr = cmd.ExecuteReader();
        int count = 0;
        while (dr.Read())
        {
            count += 1;
        }
        if (count == 1)
        {
            MessageBox.Show("Connection Success!");
            var myForm = new Form2();
            myForm.Show();
        }
        else if (count > 0)
        {
            MessageBox.Show("Duplicate username and password!");
        }
        else
        {
            MessageBox.Show("User ID or Password are incorrect!");
        }

        userid.Clear();
        userpwd.Clear();

1 个答案:

答案 0 :(得分:0)

  

其他信息:ExecuteReader需要一个开放且可用的连接

清除足够你没有在SqlConnection对象上调用open函数。

<p:commandButton onclick="window.location.href =home.xhtml"
                    style="height: 20px" type="button" title="title" icon="ui-icon-transferthick-e-w"/>