我有一个在数据库中插入数据的代码,一切正常。 JUst不确定我为什么会收到此错误:“列'月'不能为空'”同样适用于'年'
string query = "INSERT INTO page_counter (month,year,page_count) VALUES(@month,@year,@page_count)";
//create command and assign the query and connection from the constructor
MySqlCommand cmd = new MySqlCommand(query, connection);
cmd.Parameters.Add("@month", MySqlDbType.VarChar);
cmd.Parameters.Add("@year", MySqlDbType.Year);
cmd.Parameters.Add("@page_count", MySqlDbType.Int32);
cmd.Parameters["@month"].Value = "MAR";
cmd.Parameters["@year"].Value = 2014;
cmd.Parameters["@page_count"].Value = new_count;
//Execute command
cmd.ExecuteNonQuery();
它应该能够插入月份和时间即使我手动插入也没有问题。任何人都知道为什么?
答案 0 :(得分:1)
替换它:
cmd.Parameters.Add("@month", MySqlDbType.VarChar);
cmd.Parameters.Add("@year", MySqlDbType.Year);
cmd.Parameters.Add("@page_count", MySqlDbType.Int32);
cmd.Parameters["@month"].Value = "MAR";
cmd.Parameters["@year"].Value = 2014;
cmd.Parameters["@page_count"].Value = new_count;
有了这个:
cmd.Parameters.AddWithValue("@month", "MAR");
cmd.Parameters.AddWithValue("@year", 2014);
cmd.Parameters.AddWithValue("@page_count",new_count);