我一直在使用下面的代码将值插入MySQL数据库。代码编译没有错误消息,但只要我尝试运行代码,它说:将值插入数据库
MySql.Data.MySqlClient.MySqlException:列“名称”不能为空
请告诉我在我的代码中的错误。
下面是我使用的插入功能:
public int insert (int id, string name, string sname, int marks)
{
string connection= ConfigurationManager.ConnectionStrings["Conn"].ConnectionString;
MySqlConnection con = new MySqlConnection(connection);
MySqlCommand com = new MySqlCommand("INSERT INTO Student_details(id,name,sname,marks) values(@id,@name, @sname, @marks)");
// com.Connection = com;
com.Connection = con;
con.Open();
//com.Parameters.Add("@id", id);
//com.Parameters.Add("@name", name);
//com.Parameters.Add("@sname", sname);
//com.Parameters.Add("@marks", marks);
com.Parameters.AddWithValue("@id", id);
com.Parameters.AddWithValue("@name", name);
com.Parameters.AddWithValue("@sname", sname);
com.Parameters.AddWithValue("@marks", marks);
//// com.Parameters.a
//com.ExecuteNonQuery();
int ret = Convert.ToInt32(com.ExecuteScalar());
return ret;
}
它是什么,你不要在此错误消息明白了吗?你显然在'name'列中插入null ... –
当你调用你的'insert'方法时,你的参数'name'为空吗? – Msonic