Private Sub BtnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLogin.Click
        Dim conn As New System.Data.SqlClient.SqlConnection
        Dim cmd As New System.Data.SqlClient.SqlCommand
        Dim objReader As System.Data.SqlClient.SqlDataReader
        conn.ConnectionString = "server=localhost;uid=sa;pwd=123;database=myweb"
        conn.Open()
        cmd.Connection = conn
        cmd.CommandText = "select userID from member"
        objReader = cmd.ExecuteReader()
        Dim i As Integer
        While objReader.Read()
            If objReader.GetValue(i) = TxtID.Text Then
                Response.Redirect("AlreadyExists.aspx?ID=" & TxtID.Text)
                conn.Close()
            End If
        End While
        conn.Close()   
    End Sub
好像IF判断根本不起作用,怎么回事呢?

解决方案 »

  1.   

    为什么要这样写呢?这样写效率很低的
    cmd.CommandText = "select userID from member where userid ='"+TxtID.Text.Trim()+"'"
            objReader = cmd.ExecuteReader()
            Dim i As Integer
            if(objReader.Read())
    {
    Response.Redirect("AlreadyExists.aspx?ID=" & TxtID.Text)}               conn.Close()
      

  2.   

    支持2楼,顺便说一下,你为什么不引入名字空间,非要写这么长一串
    Dim conn As New System.Data.SqlClient.SqlConnection
    在页面前加上:imports System.Data.SqlClient
    后面就可以这样写了 :Dim conn As New SqlConnection
      

  3.   

    在SQL中用存储过程吧,性能就要好多了
    sql中建一个过程:
    IsHaveUserName
    @Username varchar(50),
    @Result int output
    as 
    select * from Tuser where UserName=@userName
    if(@@rowcount>0)
    begin
      set @Result=1
    end
    else
    begin
      set @Result=0
    end然后用程序来判断
    SqlCommand com=new SqlCommand("IsHaveUserName",conn)
    com.commandType=commandType.storexxxx;
    sqlparameter UserName=new sqlparameter("@userNmae",sqlDbtype.varchar)
    username=txtusername.text;
    com.parameters.add(username);sqlparameter Result=new sqlparameter("@Result",sqlDbtype.int)
    Result.direction=output;
    com.parameters.add(Result);conn.open();
    com.executenoquery();
    conn.close();if(Result.value==1)
    {
    you same!!
    }
    esle
    {
    no same!!
    }
    时间急,有点乱……。
      

  4.   

    IsHaveUserName ... 无语 ...IsDuplicateUsername