当前位置:编程学习 > C#/ASP.NET >>

求助关与access数据库用户名密码的验证

private void button1_Click(object sender, EventArgs e)
        {
            if (this.textBox1.Text != "")
            {
                if (this.textBox2.Text != "")
                {
                    string sql;
                    sql = "select count(*) from 用户表 where username='" + this.textBox1.Text + "' and pwd='" + this.textBox2.Text + "'";
                    try
                    {
                        string strPath = Application.StartupPath + "\\db1.mdb";
                        string Constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + strPath;
                        OleDbConnection dbconn = new OleDbConnection(Constr);
                        dbconn.Open();
                        OleDbCommand cmd = new OleDbCommand(sql, dbconn);
                        int state = Convert.ToInt32(cmd.ExecuteScalar());
                        if (state == 0 || state > 1)
                        {
                            this.label3.Text = "用户不存在,请检测用户名和密码是否正确!";
                        }
                        else
                        {
                            this.label3.Text = "登入成功!";
                        }
                        dbconn.Close();
                    }
                    catch (Exception a)
                    {
                        MessageBox.Show(a.Message);
                    }
                }
            }
        }



运行后提示至少有一个参数没有设置,不知道问题出在哪的,请帮帮忙啊,谢谢。 --------------------编程问答-------------------- sql = "select count(*) from 用户表 where username='" + this.textBox1.Text + "' and pwd='" + this.textBox2.Text + "'";
试下改成
sql = "select count(*) as 用户数 from 用户表 where username='" + this.textBox1.Text + "' and pwd='" + this.textBox2.Text + "'";
--------------------编程问答-------------------- 还是一样的啊,没有用 --------------------编程问答-------------------- int state = Convert.ToInt32(cmd.ExecuteScalar());
看一下是不是这个词用的不对,具体的词记不太清了。 --------------------编程问答-------------------- int state = Convert.ToInt32(cmd.ExecuteScalar());
看一下是不是这个词用的不对,具体的词记不太清了。 --------------------编程问答-------------------- int state = Convert.ToInt32(cmd.ExecuteScalar());
看一下是不是这个词用的不对,具体的词记不太清了。 --------------------编程问答-------------------- string ConStr="Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=true;Data Source="+strPath+";Mode=ReadWrite;Jet OLEDB:Database Password=123;";

看行不行。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,