2017-05-29 1127 views
0

能不能幫我,找到我的查詢中的錯誤,我正在解決這個錯誤小時,在此先感謝SQL查詢,不正確的語法附近的「關鍵字」

sqlquery = "SELECT dbo.trans_queue.que_no, dbo.trans_step.step_remarks," _ 
       & " dbo.office.office_name, dbo.transaction.trans_name," _ 
       & " dbo.trans_queue.date_arrive, dbo.trans_queue.time_arrive" _ 
       & " FROM dbo.trans_queue" _ 
       & " INNER JOIN dbo.trans_step ON dbo.trans_queue.trans_step_Id = dbo.trans_step.trans_step_Id" _ 
       & " INNER JOIN dbo.office ON dbo.trans_queue.office_Id = dbo.office.office_Id" _ 
       & " INNER JOIN dbo.transaction ON dbo.trans_queue.trans_Id = dbo.transaction.trans_Id" _ 
       & " WHERE dbo.office.office_Id = '" & Now_Office_ID & "'" _ 
       & " ORDER BY dbo.trans_queue.time_arrive AND dbo.trans_queue.date_arrive" 

錯誤總是告訴我 「接近'transaction'的語法不正確

+4

(1)使用參數化的查詢。 (2)顯示查詢字符串的樣子,而不是用於生成字符串的代碼。 95%的時間,查看查詢本身使問題變得明顯。和(3)用你正在使用的數據庫標記。 –

+0

謝謝你的提醒,先生@GordonLinoff – gunZ333

+0

是這樣,你**使用哪個DBMS **? –

回答

3

最可能的問題來自於您的表名TRANSACTION是Transact SQL中的保留字。用方括號內的字查詢替換交易的所有事件:

sqlquery = "SELECT dbo.trans_queue.que_no, dbo.trans_step.step_remarks," _ 
      & " dbo.office.office_name, dbo.[transaction].trans_name," _ 
      & " dbo.trans_queue.date_arrive, dbo.trans_queue.time_arrive" _ 
      & " FROM dbo.trans_queue" _ 
      & " INNER JOIN dbo.trans_step ON dbo.trans_queue.trans_step_Id = dbo.trans_step.trans_step_Id" _ 
      & " INNER JOIN dbo.office ON dbo.trans_queue.office_Id = dbo.office.office_Id" _ 
      & " INNER JOIN dbo.[transaction] ON dbo.trans_queue.trans_Id = dbo.[transaction].trans_Id" _ 
      & " WHERE dbo.office.office_Id = '" & Now_Office_ID & "'" _ 
      & " ORDER BY dbo.trans_queue.time_arrive AND dbo.trans_queue.date_arrive" 
+0

謝謝主席先生@xtoik它有很大的幫助 – gunZ333

0

你的錯誤應該是使用researved「交易」一詞你不指定數據庫,Microsoft SQL Server中,你應該使用:

dbo.[transaction].trans_name, 
相關問題