读书人

利用Sqlcommand连接数据库的有关问题

发布时间: 2013-09-15 19:58:13 作者: rapoo

利用Sqlcommand连接数据库的问题


private void button1_Click(object sender, EventArgs e)
{
SqlCommand s;
s = new SqlCommand();
s.Connection = p;
string str = string.Format("select * from 用户表 where 用户ID={0} and 用户密码={1}",this.textBox1.Text,this.textBox2.Text);
s.CommandText = str;
s.CommandType = CommandType.Text;
SqlDataReader sdr = s.ExecuteReader();
// sdr.Read();
if(sdr.Read())
{
MessageBox.Show("登录成功!");
主窗体 p1 = new 主窗体();
p1.Show();
}
else
{
MessageBox.Show("用户名与密码不匹配!");
}
}

错误提示:“System.Data.SqlClient.SqlException”类型的未经处理的异常出现在 System.Data.dll 中。

其他信息: 关键字 'and' 附近有语法错误。
求解!!!! 数据库 ,sqlcommand
------解决方案--------------------


ID和密码是什么类型的?可能存在缺少引号的问题。

不建议拼接SQL,容易有注入问题,应该采用参数化的SQL
[解决办法]
select * from 用户表 where 用户ID='{0}' and 用户密码='{1}'",
[解决办法]
支持 楼上.
[解决办法]



曾经我就出现过这个问题
[解决办法]
单引号

要么你就直接写


string sql="select * from xxoo where id='"+TextBox1.Text+"'";

读书人网 >C#

热点推荐