将“是/否”参数传递给 MS 中的查询 从 C# 访问


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 + "')";

最新更新