2013-03-16 76 views
0

我正在使用下面的代碼從訪問數據庫中獲取記錄。現在我在查詢表達式中得到了下面的錯誤語法錯誤(缺少運算符)。 我無法理解此問題。請幫我解決這個問題。MS Access語法錯誤(缺少運算符)

cmd = new OleDbCommand(@"Select * from tbl_men_schedule where fld_mem_id=" + 0 + " and fld_startdate=" + Convert.ToDateTime(txt_startDate.Text) + " and fld_enddate=" + Convert.ToDateTime(txt_enddate.Text) + "", con); 
da = new OleDbDataAdapter(cmd); 
DataSet ds = new DataSet(); 
da.Fill(ds); 

Syntax error (missing operator) in query expression 'fld_mem_id=0 and fld_startdate=1/4/2013 12:00:00 AM and fld_enddate=4/11/2013 12:00:00 AM'. 
+0

錯誤本身是自我解釋,並建議如何解決。 – 2013-03-16 03:47:25

+0

看起來像你忘了引號... – 2013-03-16 04:04:00

+0

user2063626我想解決我的問題。 – user2176150 2013-03-16 04:05:28

回答

1

如果fld_startdatefld_enddate的日期/時間數據類型,請將這些日期值與#分隔符。

where 
     fld_mem_id=0 
    and fld_startdate=#1/4/2013 12:00:00 AM# 
    and fld_enddate=#4/11/2013 12:00:00 AM# 

如果它們是文本數據類型,請將它們用引號。

where 
     fld_mem_id=0 
    and fld_startdate='1/4/2013 12:00:00 AM' 
    and fld_enddate='4/11/2013 12:00:00 AM' 

但是,如果您改用參數查詢,則不需要分隔這些值。

0

你的說法應該是 -

"Select * from tbl_men_schedule where fld_mem_id=" + 0 + " and fld_startdate='" + Convert.ToDateTime(txt_startDate.Text) + "' and fld_enddate='" + Convert.ToDateTime(txt_enddate.Text) + "'" 

希望這有助於你

0

如果你硬編碼 「0」 ......和你缺少單引號。

"Select * from tbl_men_schedule where fld_mem_id=0 and fld_startdate='" + 
txt_startDate.Text + "' and fld_enddate='" + 
txt_enddate.Text + "'" 
相關問題