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中的查询?
答案 0 :(得分:-1)
对于Access数据库是/否需要字段:
在CheckBox事件中编写代码
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 + "')";