Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Параметры в SQL запросе [D7]


Leyhont ©   (2006-08-27 22:27:00) 

Делаю прогу на ZeosDBO с использованием MySQL.
Может кто знает, что нужно сделать, чтобы строковый параметр в запрос SQL вставлялся без одинарных кавычек?


sniknik   (2006-08-28 00:10:00) [1]

> я дал вариант для динамического запроса
да это то я понял, просто выглядит "странно" при явных значениях.

(только что обсуждение фленова читал, его код s:= Format('%s', ['чегото там'], а возможно он тоже обьяснял, пример неудачно сократил для "понятности", а поняли буквально... хотя нет, там и других грешков хватает.)


Anatoly Podgoretsky   (2006-08-27 23:58:00) [2]

sniknik ©   (27.08.06 23:50) [6]
Да это ясно, я дал вариант для динамического запроса, иначе зачем он спрашивает?


sniknik   (2006-08-27 23:50:00) [3]

Anatoly Podgoretsky ©   (27.08.06 23:46) [4]
> Исправить можно так
> ...
или проще
SQL.Text:= 'SELECT id_user,name_user FROM users';
;о))


sniknik   (2006-08-27 23:47:00) [4]

это исправиш, это на всю жизнь. ;) © анекдот про девочку из леса.

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


Anatoly Podgoretsky   (2006-08-27 23:46:00) [5]

Исправить можно так
SQL.Text := Format('SELECT %s, %s FROM users', ['id_user', 'name_user' ]);


Anatoly Podgoretsky   (2006-08-27 23:44:00) [6]

Это вообще не рабочее, для запросов возвращающие наборы ExecSQL не применим.
Второе на сервер подобное не отправляется, параметры на сервер отправляются отдельно от запроса.
Третье метапараметры не могут быть представлены параметрами.

Это по всем трем пунктам бредовый код.


Leyhont   (2006-08-27 23:25:00) [7]

Допустим в свойство SQL записано:
SELECT :Id, :Name FROM users;

Params[0].AsString:='id_user';
Params[1].AsString:='name_user';
ExecSQL;

У обоих параметров DataType = ftString;

При этом на сервер отправляется запрос:
SELECT 'id_user', 'name_user' FROM users;
а надо, чтобы было так:
SELECT id_user, name_user FROM users;

Что поменять, исправить, переделать, чтобы заработало?


Anatoly Podgoretsky   (2006-08-27 23:06:00) [8]

Они и так вставляются без кавычек, видимо вопрос неверно сформулирован.


Наверх

Титульная страница Поиск, карта сайта Написать письмо