SqlCommand CmdGetUserName = new SqlCommand("select UserName from UserTable where UserName='" + TxtNewUserName.Text + "'", cn);
                SqlDataReader drGetUserName = CmdGetUserName.ExecuteReader();
                drGetUserName.Read();如果没有TxtNewUserName.Text中的用户,则drGetUserName[0].ToString()中什么值,该如何判断?谢谢指教!

解决方案 »

  1.   

    string tt = "server=dfstest;user id=sa;password=dar;database=Depot";
    SqlConnection myConnection = new SqlConnection(tt);            try
                {
                    myConnection.Open();
                }
                catch
                {
                    MessageBox.Show("数据库连接错误\n请检查网络状态!", "错误",MessageBoxButtons.OK,MessageBoxIcon.Error,MessageBoxDefaultButton.Button1);
                    return;
                } SqlCommand myCommand = myConnection.CreateCommand();
    string sql ="select D_Mark,D_User,D_PWD from Login where D_Mark = '"+txtName.Text.Trim()+"'";
    myCommand.CommandText = sql;
    SqlDataReader myDataReader = myCommand.ExecuteReader(); if(!myDataReader.HasRows)
    {
    MessageBox.Show("用户名不存在","错误");
    txtName.Focus();
    txtName.SelectAll();
    }
    while(myDataReader.Read())
    {
    if(myDataReader["D_PWD"].ToString().Trim()==txtPWD.Text.Trim())
    {
    Menu menu = new Menu(); menu.MyEvent += new Depot.Menu.MyEventHandl(tmp);
    menu.lblName.Text = myDataReader["D_User"].ToString().Trim();

    menu.Show();
    this.Hide(); myConnection.Close();

    return;
    } MessageBox.Show("密码不正确","错误");
    txtPWD.Focus();
    txtPWD.SelectAll();
    return;
    }这是我写的用户登录的代码,希望对你有用!
      

  2.   

    if(!myDataReader.HasRows)
                {
                    MessageBox.Show("用户名不存在","错误");
                    txtName.Focus();
                    txtName.SelectAll();
                }你应该只用到这一句吧!
      

  3.   

    myDataReader.Read() 返回假就算空了,管myDataReader内容是什么哦