asp.net向Mysql数据库user表中插入数据

来源:百度知道 编辑:UC知道 时间:2024/05/12 18:12:23
string constr = ConfigurationManager.ConnectionStrings["jmc"].ConnectionString;

//下面使用MySql Connector/net提供的专用对象
MySqlConnection mycon = new MySqlConnection(constr);
mycon.Open();
string sql="INSERT Users ( name, Password, RealName)" +
"VALUES (@UserName, @Password, @RealName)";

MySqlParameter[] para = new MySqlParameter[]
{
new MySqlParameter("@Name", user.Name),
new MySqlParameter("@Password", user.Password),
new MySqlParameter("@RealName", user.RealName)
};
MySqlCommand mycmd = new MySqlCommand(sql, mycon);
mycmd.Parameters.AddRange(para);
int newId = mycmd.ExecuteNonQuery();

Response.Write(newId + "<br/>");

string sql="INSERT Users ( name, Password, RealName)" +
"VALUES (@UserName, @Password, @RealName)";
把上句中的 @UserName 改为 @Name

写sql语句时最好将 列名 用[] 括起来,即name 变为 [name] 这样防止关键字引用出现莫名其妙的错误
把整句改为:
string sql="INSERT Users ( [name], [Password], [RealName])" +
"VALUES (@Name, @Password, @RealName)";

name列为非空,你传的name值为空。
是前面的代码有问题估计user 就是null
设断点调试一下吧

兄弟,你的参数打错了。@UserName和@Name是不一样的。改过来就应该没事了。