I have the following method to ensure that an entered username does not already exist.
protected void checkUsername(object source, ServerValidateEventArgs args)
{
string connString = "Data Source=server;Initial Catalog=database;User Id=username;Password=password;";
string cmdText = "SELECT COUNT(*) FROM igs_users WHERE username = @username";
using(SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
using(SqlCommand cmd = new SqlCommand(cmdText, conn))
{
cmd.Parameters.AddWithValue("@username", username);
Int32 count = (Int32)cmd.ExecuteScalar();
args.IsValid = true;
}
}
}
When I run it, I get the following error.
System.ArgumentException was unhandled by user code
HResult=-2147024809
Message=No mapping exists from object type System.Web.UI.WebControls.TextBox to a known managed provider native type.
Source=System.Data
The debugger gives me this error for the below line.
Int32 count = (Int32)cmd.ExecuteScalar();
Any idea what’s wrong with this code?
I would think it’s the line
Is
usernamea TextBox? If so, you should change the line to:The line as it currently stands attempts to bind the TextBox control itself to the
@usernameparameter. The correction binds the text within the TextBox control to@username.