求助关与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#