Skip to content
Dmitrii Evdokimov edited this page Apr 6, 2018 · 2 revisions

Образцы запросов SQL, выполняемых программой.

Получить список имен всех пользователей

Для проверки связи с БД и определения наличия такого пользователя.

SELECT usrname FROM elo_users

Получить ID пользователя по его имени

Для использования в последующих запросах.

SELECT usrid FROM elo_users WHERE usrname = ?

Получить список кодов форм, разрешенных пользователю

Отобрать формы, разрешенные к показу.

SELECT DISTINCT sp.posttype FROM elo_users_access ua LEFT JOIN elo_spr_post_sub sp ON ua.formname = sp.code WHERE ua.userid = ?

Получить формы пользователя по списку кодов разрешенных форм с заданной сортировкой

Для показа списка форм на Тулбаре.

SELECT posttype, postname FROM elo_spr_post WHERE posttype IN ('{0}') ORDER BY {1}

где
{0} - список кодов форм (posttype из предыдущего запроса) через запятую,
{1} - порядок сортировки ('posttype' или 'postname').

Получить посылки за указанный период

Наполнение таблицы посылок для просмотра в главном окне. Указание периода дат имеет специфику, в зависимости от фактически используемой БД:

  • для MS Access даты записываются в формате 'dd.mm.yyyy' числами;
  • для MS SQL и Oracle - в формате 'd-mmm-yyyy' с буквенными месяцами JAN, FEB, ..., DEC.

По заданному списку кодов форм (через запятую):

SELECT * FROM elo_arh_post WHERE posttype IN ('{0}') AND dt BETWEEN ? AND ? ORDER BY posttype, dt, filetype

С конкретно выбранным кодом формы:

SELECT * FROM elo_arh_post WHERE posttype='{0}' AND dt BETWEEN ? AND ? ORDER BY posttype, dt, filetype

Получить список кодов форм, имеющих посылки за заданный период

Для обновления списка форм в Тулбаре при изменении периода выборки.

SELECT DISTINCT posttype FROM elo_arh_post WHERE posttype IN ('{0}') AND dt BETWEEN ? AND ?

Получить список посылок по списку имен файлов

Найти посылки, где встречаются указанные файлы.

SELECT * FROM elo_arh_post WHERE filename IN ('{0}') ORDER BY posttype, dt, filetype