2017-05-29 4 views
0

könnten Sie mir helfen, in dem Fehler in meiner Anfrage zu finden, ich Stunden nehme diesen Fehler bei der Lösung, danke im vorausSQL Query, falsche Syntax in der Nähe von „Stichwort“

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" 

der Fehler sagt mir immer dass „falsche Syntax in der Nähe von‚Transaktion‘“

+4

(1) Verwenden Sie parametrisierte Abfragen. (2) zeigen, wie die Abfragezeichenfolge aussieht, nicht der Code, der zum Generieren der Zeichenfolge verwendet wird. In 95% der Fälle macht das Betrachten der Abfrage das Problem offensichtlich. Und (3) tag mit der Datenbank, die Sie verwenden. –

+0

danke für den raten sir @GordonLinoff – gunZ333

+0

Also, welche DBMS ** sind ** Sie verwenden? –

Antwort

3

wahrscheinlich das Problem kommt von der Tatsache, dass Ihre Tabellennamen TRANSACTION ein reserviertes Wort in Transact SQL ist. Ersetzen Sie alle Vorkommen von Transaktion in der Abfrage durch das Wort in eckigen Klammern:

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

danke sir @ xtoik es hilft sehr – gunZ333

0

Ihr Fehler sein sollte, das researved Wort „Transaktion“ Sie nicht Ihre Datenbank angeben, in Microsoft SQL Server sollten Sie verwenden:

dbo.[transaction].trans_name, 
Verwandte Themen