OleDbConnection con;
string sql;
OleDbCommand cmd;

//set query
sql = "SELECT pwd FROM users WHERE U_ID = '"+txtID+"'";
//Connect and execute the query
con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+ Server.MapPath("db1.mdb"));
cmd = new  OleDbCommand(sql, con);
con.Open();
cmd.ExecuteNonQuery();如果执行结果是否为空就可以知道帐号是不是存在。
但怎么判断执行结果为空呢 ?如果不为空,用什么方法来取得表users中pwd字段中的值呢?

解决方案 »

  1.   

    int errornum=0;
    Form form=new Form();//登录窗体,上面右textbox2个button2个
    //设好button的dialogresult属性ok和cancel
    again:

    if(errornum>2) 
    {//错误三次退出
    this.Close();//关闭主窗体,程序自动退出
    return;
    }
    form.Update();
    if(form.ShowDialog()!=DialogResult.OK) 
    {
    this.Close();
    return;
    }
    string username=form.textBox1.Text;
    String pswd=form.textBox2.Text;
    if(username!="admin")
    {
    MessageBox.Show("用户不存在!");
    errornum++;
    goto again;
    }
    if("208"!=pswd) 
    {
    MessageBox.Show("密码错误!");
    errornum++;
    goto again;
    }
      

  2.   

    给空密码设定一个特殊的字符串,比如'<null>',在数据库中,存储密码的字段不能为空
      

  3.   

    我想知道的是,用什么函数得到SQL 查询的结果为空,
    不为空时,怎么取得数据库中某字段的值?
      

  4.   

    sqldatareader data =cmd.executereader();
    data.read();
    if(data.HasRows!=true)

       //没有返回行,说明没有找到该用户

    else

        if(data.IsDBNull(0))
        {
           //说明密码为空
        }