我有一个代码在数据库中插入数据,一切正常。只是不确定为什么会出现这个错误:“month”列不能为空“year”也不能为空
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();
它应该可以插入月份和年份,即使我手动插入没有问题。有人知道为什么吗?
最佳答案
替换为:
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);
关于c# - “月”列不能为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22447848/