【发布时间】:2016-07-05 12:00:42
【问题描述】:
这应该很简单,我觉得问起来很愚蠢,但我不知道我做错了什么。尝试将 0 插入 MySQL 数据库中的 bit 字段,无论我做什么,它都会返回 1。所以在查询程序中,这非常有效:
insert into MyTable (VarcharField, BitField) values ('0', 0)
这将返回
的结果VarcharField: 1
BitField: 1
现在转到我的 WPF 应用程序。请注意,这是我的通用插入方法的简化版本,它适用于除 bit 之外的所有其他字段类型:
string sqlCMD = "insert into MyTable (VarcharField, BitField) values (@varcharField, @bitField)";
int value = 0;
using (MySqlConnection con = new MySqlConnection(ConString))
{
MySqlCommand cmd = new MySqlCommand();
con.Open();
cmd = new MySqlCommand(sqlCMD, con);
cmd.Parameters.Add(new MySqlParameter("@varcharField", value.ToString()));
cmd.Parameters.Add(new MySqlParameter("@bitField", value.ToString()));
cmd.ExecuteNonQuery();
con.Close();
cmd.Dispose();
con.Close();
}
这将返回
的结果VarcharField: 0
BitField: 1
我什至尝试将参数值设置为“false”,但这也不起作用。
【问题讨论】: