textBox4为用户名,textBox5为密码,
结果他怎么也连不上
请高手帮帮忙,到底哪儿出错了?string connectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString();

SqlConnection  conn=new SqlConnection(connectionString);
SqlCommand cmd = conn.CreateCommand();
string gonghao=textBox4.Text;
try
{
conn.Open();
MessageBox.Show("连接成功!");
}
catch
{
MessageBox.Show("连接失败,请确保您的输入的正确性!");
}try
{
cmd.CommandText="SELECT mm"+"FROM t_sys"+"WHRER gh = gonghao";
SqlDataReader mysqlrdr=cmd.ExecuteReader();
while(mysqlrdr.Read())
{
if(mysqlrdr["mm"].ToString()!=textBox5.Text)
{
MessageBox.Show("密码错误!");
}
else if(mysqlrdr["mm"].ToString()==textBox5.Text)
{
MessageBox.Show("登录成功!");
//this.Close();
}
else
MessageBox.Show("登录失败!");
}
}
catch
{
MessageBox.Show("连接失败!");
}

解决方案 »

  1.   

    首先,你的sql语句有问题

    cmd.CommandText="SELECT mm"+"FROM t_sys"+"WHRER gh = gonghao";
    改成
    cmd.CommandText="SELECT mm "+" FROM t_sys WHRER gh = gonghao";
      

  2.   

    1)这一句有问题:FROM前加空格
    cmd.CommandText="SELECT mm FROM t_sys"+"WHRER gh = gonghao";
    2)注意输入的大小写,应先全部大写或小写来比较
    3)记得去除右空格
      

  3.   

    不如设置个断点跟踪以下,看看是在conn.Open()处还是在cmd.ExecuteReader()处出的问题
    在cmd.ExecuteReader()之前看看conn的状态
      

  4.   

    SQL语句有问题
    cmd.CommandText="SELECT mm"+"FROM t_sys"+" WHRER gh =‘gonghao’";
    改成这样应该可以的
    而且不用SqlDataReader来取吧,用ExecuteScalar方法返回一个object对象就可以了
    然后把这个对象转换下和你的密码比较
      

  5.   

    cmd.CommandText="SELECT mm FROM t_sys  WHere gh =‘gonghao’";
      

  6.   

    奇怪,大家都没有看清楚楼主写的代码吗?
    string gonghao=textBox4.Text;
    gonghao明显是变量,
    请修改下面试一下,
    cmd.CommandText="SELECT mm FROM t_sys WHere gh ='"+ gonghao +"’";
    如果修改成上面还不行,可单步调试,把局部变量cmd.CommandText的最终值考到文本编辑器看一下是否有问题.
      

  7.   

    cmd.CommandText="SELECT mm FROM t_sys WHere gh ='"+ gonghao +"'";
      

  8.   

    .net技术群 1号群:23266021,此群已满!
    2号群已经开放:4510861
    请大家赶快加入!
      

  9.   

    "+"WHRER gh = gonghao";有问题,1变量当字符串使用,2where拼写有误
      

  10.   

    连接不上?你这段代码够乱的,如果判断连接失败的话,就该放弃try后的操作(在 MessageBox.Show("连接失败,请确保您的输入的正确性!");之后加return;)。
    先判断你的连接字符串是否正确。另外建议你重新整理下这段代码,大小写的问题没有考虑,无用的语句也比较多。如果没有把握的话,可以看看一些框架源代码或者论坛源代码的登陆是怎么写的。
      

  11.   

    SQL语句的问题  改成  SELECT mm FROM t_sys  WHere gh =‘“+gonghao+”’