为了账号安全,请及时绑定邮箱和手机立即绑定

如下,当我用直接SQL语句是可以的,就是用参数查询就不行了,这是为什么?

如下,当我用直接SQL语句是可以的,就是用参数查询就不行了,这是为什么?

米琪卡哇伊 2022-05-01 17:10:38
string con = "server=127.0.0.1;user id=root;password=;database=db";MySqlConnection sqlconn = new MySqlConnection(con);sqlconn.Open();string sql = "select * from users where NAME=?NAME;";MySqlCommand cmd=new MySqlCommand (sql,sqlconn);cmd.Parameters.Add("?NAME", MySqlDbType.VarChar).Value ="张山"; MySqlDataAdapter myda = new MySqlDataAdapter(cmd);DataTable dt = new DataTable();myda.Fill(dt);myda.Dispose();sqlconn.Dispose();sqlconn.Close();dataGridView1.DataSource = dt;users表ID bigintname varchar(500);
查看完整描述

2 回答

?
米脂

TA贡献1836条经验 获得超3个赞

string con = "server=127.0.0.1;user id=root;password=;database=db";
password= 后面啥都没有
string sql = "select * from users where NAME=?NAME;";
改成string sql = "select *,@NAME from users";不是什么条件,我晕
cmd.Parameters.Add("@NAME", MySqlDbType.VarChar).Value ="张山";就好了,不是Oracle

查看完整回答
反对 回复 2022-05-04
?
慕少森

TA贡献2019条经验 获得超9个赞

string sql = "select * from  users where NAME=?NAME;";改为string sql = "select * from  users where NAME=@NAME";cmd.Parameters.Add("?NAME", MySqlDbType.VarChar).Value ="张山";改为:cmd.Parameters.Add("@NAME", MySqlDbType.VarChar).Value ="张山";

查看完整回答
反对 回复 2022-05-04
  • 2 回答
  • 0 关注
  • 159 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信