读书人

判断用户名是否重复 asp.net access,该

发布时间: 2012-06-14 16:00:31 作者: rapoo

判断用户名是否重复 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());

读书人网 >asp.net

热点推荐