Синтаксис строки JavaScript для написания SQL - PullRequest
0 голосов
/ 14 ноября 2011

Я пишу SQL-запрос в виде строки Javascript:

  SQLdetail =  'SELECT [Avis SAP], Avis.[Ordre SAP], [Date Appel], [Heur Appel], Client_List![Code Client], [Numero Passerelle], [Designation Appel], Ordre![Metier], Ordre!Repercussion, Ordre!Objet, Ordre![Profil Panne], Ordre!Cause, Ordre![Sommaire Correctif], Ordre![Statut]'
  SQLdetail += ' FROM (Avis' 
  SQLdetail += ' LEFT JOIN Client_List ON Avis.[Numero Client] = Client_List.[Numero Client])' 
  SQLdetail += ' LEFT JOIN Ordre ON Avis.[Ordre SAP] = Ordre.[Ordre SAP] WHERE Avis.[Date Appel] BETWEEN #' & DateOne & '# AND #' & DateTwo & '#;' 
  alert('SQLdetail:' + SQLdetail)

, а последний SQLdetail += каким-то образом возвращает "0".Я что-то упускаю в синтаксисе, который просто превращает всю строку в 0?

Ответы [ 5 ]

2 голосов
/ 14 ноября 2011

Вы смешиваете с VB синтаксисом . В JavaScript вы должны объединить строку с +

SQLdetail += ' LEFT JOIN Ordre ON Avis.[Ordre SAP] = Ordre.[Ordre SAP] WHERE Avis.[Date Appel] BETWEEN #' + DateOne + '# AND #' + DateTwo + '#;' 
2 голосов
/ 14 ноября 2011

Если это Javascript, вам нужно использовать + вместо & здесь:

SQLdetail += ' LEFT JOIN Ordre ON Avis.[Ordre SAP] = Ordre.[Ordre SAP] WHERE Avis.[Date Appel] BETWEEN #' & DateOne & '# AND #' & DateTwo & '#;' 
2 голосов
/ 14 ноября 2011

Что с &? : BETWEEN #' & DateOne & '# AND #' & DateTwo & '#;'

Изменить на +

2 голосов
/ 14 ноября 2011

Вы используете в своем коде побитовый оператор:

& DateTwo &

Это не объединяет строки.Используйте +:

+ DateTwo +

Кроме этого, почему в мире вы генерируете свой SQL с помощью JavaScript ???

ЕдинственнымВы можете отправить его на свой сервер через браузер, что означает, что Я полностью контролирую запрос .

По сути, вы предоставляете мне права суперпользователя для вашей базы данных.Я хороший и не буду злоупотреблять этим, но я могу говорить только за себя.

1 голос
/ 14 ноября 2011

Вы используете & для объединения вместо +

...