2017-06-13 120 views
1

我在尝试检查输入的用户名是否已存在于数据库中。但以上错误上升。执行命令时遇到致命错误

protected void txtUsername_TextChanged(object sender, EventArgs e) 
     { 
      MySqlConnection con = new MySqlConnection(con1); 
     try{ 
     if (!string.IsNullOrEmpty(txtUsername.Text)) 
     { 


      con.Open(); 
      MySqlCommand cmd = new MySqlCommand("select username from client_login where [email protected]", con); 
      DataSet ds = new DataSet(); 

      MySqlDataReader dr = cmd.ExecuteReader(); 

      if (dr.HasRows) 
      { 
       checkusername.Visible = true; 
       imgstatus.ImageUrl = "NotAvailable.jpg"; 
       lblStatus.Text = "UserName Already Taken"; 
      } 
      else 
      { 
       checkusername.Visible = true; 
       imgstatus.ImageUrl = "Icon_Available.gif"; 
       lblStatus.Text = "UserName Available"; 
      } 
     } 
     else 
     { 
      checkusername.Visible = false; 
     } 
     con.Close(); 
     } 

     catch(Exception ex){ 
      Response.Write(ex); 
     } 

    } 

和文本框代码如下

` <asp:TextBox ID="txtUsername" runat="server" AutoPostBack="true" OnTextChanged="txtUsername_TextChanged"></asp:TextBox>` 

误差在执行Reader作为 基地= {“命令执行过程中遇到致命错误。”}

+0

添加堆栈跟踪。 – Guy

+0

stackTrace不生产 –

回答

1

您需要填写您的参数你的sql查询。像:

cmd.Parameters.AddWithValue("@Name", txtUsername.Text); 
+0

非常感谢你先生,这是工作 –

相关问题