问题描述
- C#代码与数据库连接问题
-
strconn="select * from syuser where Use_name="+"'"+this.User_name.Text.ToString().Trim()+"'";//根据用户输入的用户名和密码初始化查询更新数据库字符串。求大神看看是否代码有问题?求正确代码 谢谢!
解决方案
这个只有用户名Use_name的条件,还需要加上密码
strconn="select * from syuser where Use_name="+"'"+this.User_name.Text.ToString().Trim()+"'" and Use_password="+"'"+this.User_password.Text.ToString().Trim()+"'";
解决方案二:
SqlCommand sqlcmd=new SqlCommand("select * from syuser where Use_name=@Use_name and Use_password=@Use_password",conn);
sqlcmd.Parameters.Add("@Use_name ", SqlDbType.VarChar);
sqlcmd.Parameters["@Use_name "].Value = this.User_name.Text.ToString().Trim();
sqlcmd.Parameters.Add("@Use_password", SqlDbType.VarChar);
sqlcmd.Parameters["@Use_password"].Value = this.Use_password.Text.ToString().Trim();
SqlDataReader sqldr = sqlcmd.ExecuteReader();
一条数据用
if(sqldr.Reader()){
变量1=sqldr.getString("列名1")
......
}
多条数据用
while(sqldr.Reader()){
变量1=sqldr.getString("列名1")
......
}
用这样的写法比较好,防止sql注入
解决方案三:
楼主能说的更清楚些吗?到底是想查询还是更新?