判断用户名是否重复 asp.net access
if (Page.IsValid)
{
string a = username.Text;
string sql;
sql = "select * from userdetail where username='" + this.username.Text + "'";//建立sql查询语句
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("./App_Data/db1.mdb"));//建立数据库连接
conn.Open();
OleDbCommand cmd = new OleDbCommand(sql, conn);
int count = Convert.ToInt32(cmd.ExecuteScalar ());
if (count > 0)//如果数据中没有记录或有多条记录则抱错
{
return;
}
else
{
}
conn.Close();
提示红色错误,说输入字符格式不正确,我该怎么转换,用的是文字
------解决方案--------------------
改成:
sql = "select count(*) from userdetail where username='" + this.username.Text + "'";//建立sql查询语句
------解决方案--------------------
另外最好用参数化SQL,直接拼不安全,容易被注入:
这样写更安全:
sql = "select count(*) from userdetail where username=?";//建立sql查询语句
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("~/App_Data/db1.mdb"));//建立数据库连接
conn.Open();
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.Paramters.AddWithValue("?",this.username.Text.Trim());//添加SQL参数并给值
int count = Convert.ToInt32(cmd.ExecuteScalar());