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

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 bigint
name varchar(500);

米琪卡哇伊
浏览 161回答 2
2回答

米脂

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

慕少森

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 ="张山";
打开App,查看更多内容
随时随地看视频慕课网APP