簡體   English   中英

通過C#將是/否參數傳遞給MS Access中的查詢

[英]pass yes/no parameter to a query in MS Access from 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中的查詢?

對於Access數據庫,是/否字段是必填字段:

  • 是= -1值//是是-1
  • 否= 0值//否表示0

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM