tblCategory c=new tblCategory();
OleDbCommand cm = new OleDbCommand();
cm.Connection = AccessConnection();
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "instblCategory";
cm.Parameters.Add("vCategoryName", OleDbType.VarChar).Value = c.CategoryName;
cm.Parameters.Add("vdtCreated", OleDbType.VarChar).Value = c.DtCreated;
cm.Parameters.Add("vIsActive", OleDbType.Boolean).Value = c.IsActive;
cm.Parameters.Add("vDescription", OleDbType.VarChar).Value = c.Description;
if (!Exist(c))
{
cm.Connection.Open();
cm.ExecuteNonQuery();
cm.Connection.Close();
}
我在cm.ExecuteNonQuery()上收到一个错误。这是"数据类型不匹配"。我尝试一次只传递一个参数,发现传递布尔值会导致错误。
请告诉我如何使用 C# 将布尔值传递给 MS Access 中的查询?
对于访问数据库 是/否 字段为必填字段:
- Yes = -1 值//Yes 表示 -1
- 否 = 0 值//否表示 0
在复选框事件中写入代码
int checkboxevent ;
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
checkboxevent = -1;
else
checkboxevent = 0;
}
将复选框值传递给 Access 数据库。像这样编写查询:
Query = "insert into Test001 (checkbox) values ( '" + checkboxevent + "')";