sql语句写对了(能查出记录)当我输入不存在的会员名时,程序走到这句又被catch了我是新手,请多关照!

解决方案 »

  1.   

    建议你这样处理
    string sql = "select count(*) from userTable where userName = " + TxtName.Text.Trim() + " and passWord = " + TxtPwd.Text.Trim();这个Sql返回1表示验证成功,否则失败
      

  2.   

    你是在while robjSqldataReader.read ... end while中判斷嗎?貼完整的代碼出來看看
      

  3.   

    C#
    if(robjSqldataReader.Read())
    {
    TxtMemName.Text= robjSqldataReader["MemName"].ToString();}
      

  4.   

    Try
                robjSqldataReader = robjSqlcommand.ExecuteReader
                If robjSqldataReader.HasRows = False Then
                    '弹出消息,提示会员名称输入错误
                    litErrMsgBox.Text = cfstrMsgbox(cstrER005)
                    Exit Sub
                End If            If robjSqldataReader.HasRows = True Then
                    '判断会员输入密码是否错误
                 If TxtMemPassword.Text.Trim <> robjSqldataReader("MemPassword") Then
                        '会员密码输入错误
                        litErrMsgBox.Text = cfstrMsgbox(cstrER006)
                        Exit Sub
                  End If             If TxtMemName.Text.Trim = robjSqldataReader("MemName") And TxtMemPassword.Text.Trim = robjSqldataReader("MemPassword") Then
                        '登陆成功
                        litErrMsgBox.Text = cfstrMsgbox(cstrER007)               End If
                End If
            Catch ex As Exception
                '弹出错误消息
                litErrMsgBox.Text = cfstrMsgbox(cstrER008)
                Exit Sub        Finally
                robjSqldataReader.Close()
                robjSqlcommand.Dispose()
                cfblnDBCloseSQL(robjSqlconnect)        End Try
      

  5.   

    robjSqlcommand命令和 连接数据库都是对的
      

  6.   

    SqlDataReader myReader=myCom.ExecuteReader();
    myCon.Open();
    while(myReader.Read()==true)
    {
       string strYYY=TxtMemName.Text.Trim();
        if(strYYY=myReader["XXX"])
       {
        .....
        }}
    随手写的,可能有错
      

  7.   

    TxtMemName.Text.Trim()=robjSqldataReader("MemName") 是这样吗?