asp.net 插入数据Mysql

来源:百度知道 编辑:UC知道 时间:2024/06/21 21:43:52
string sql = "INSERT INTO users (LoginId,LoginPwd,Name,QQ,Mail) VALUES ('?loginId','?loginPwd','?name','?qq','?mail');";

MySqlParameter[] paras = new MySqlParameter[] { new MySqlParameter("?loginId", user.LoginId), new MySqlParameter("?loginPwd", user.LoginPwd), new MySqlParameter("?name", user.Name), new MySqlParameter("?qq", user.QQ), new MySqlParameter("?mail", user.Mail) };

MySqlCommand mycmd = new MySqlCommand(sql, Myconnection);
mycmd.Parameters.AddRange(values);
return mycmd.ExecuteNonQuery();
user对象里面的值都有,但插入数据后,查询出来的却是'?LoginId'之类的。
我估计是 mycmd.Parameters.AddRange(values); 这句的问题,但不知道解决方案,麻烦各位给提醒一下。谢谢
试用一楼所说的方法,已实现功能。分送上,同样感谢二楼的回答者。
回复二楼,分号不是多余的,在MYSQL中语句要以;作为结尾标识。
你说的那个可能是SQL Server里面的。

参数查询不需要单引号,把你的SQL语句里的引号去掉

string sql = "INSERT INTO users (LoginId,LoginPwd,Name,QQ,Mail) VALUES ('?loginId','?loginPwd','?name','?qq','?mail');"; 这里多了一个分号(;)去掉它 插入参数不能用单引号('"+参数名+"')
改成:
string sql = "INSERT INTO users (LoginId,LoginPwd,Name,QQ,Mail) VALUES ('"+?loginId+"','"+?loginPwd+"','"+?name+"','"+?qq+"','"+?mail+"')";