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

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

Добавить строки в SQL


Дева ©   (2005-11-18 19:33:00) 

Подскажите пожалуйста, как можно добавить строки в запрос SQL не удаляя из него, то что там уже есть. То есть, удалить нужно только точку с запятой ( ; ).


Separator   (2005-11-18 20:51:00) [1]

Это если используешь несколько SQL запросов подряд, например для крупного обновления или вставки значений.
А для одного запроса, тем более с выводом результатов ';' не нужна


Дева   (2005-11-18 20:48:00) [2]

на сколько я знаю - ; то биш точка с запятой в конце запроса SQL это такой синтаксис


Separator   (2005-11-18 20:24:00) [3]

а зачем вообще в конце ";" ставить?


Separator   (2005-11-18 20:23:00) [4]

Или, если предположить, что точка с запятой стоит только в последней строке то, тогда так:


if SQL.Strings[SQL.Count - 1][Length(SQL.Strings[SQL.Count - 1])] = ';'
 then SQL.Strings[SQL.Count - 1]:= Copy(SQL.Strings[SQL.Count - 1], 1, Length(SQL.Strings[SQL.Count - 1]) - 1);
SQL.Append('ORDER BY 2');


Дева   (2005-11-18 20:22:00) [5]

"SELECT * FROM Table1;"
Это только пример.
Текст запроса зависит от некоторых факторов, то есть изменяется программно. Мне нужно программно добавить следующую строку. Соответсвенно, я не знаю, что именно в запросе написано на момент добавления

Ну, к примеру:

procedure primer;
var
i: integer;
begin
i:=StrToInt(Edit1.Text);
if I=1 then
ADOQuery1.Sql.Clear;
ADOQuery1.SQL.Add('SELECT * From Table1;')
if I=2 then
ADOQuery1.Sql.Clear;
ADOQuery1.SQL.Add('SELECT * From Table2;')
...//вот тут и надо произвести добавление
end;


Separator   (2005-11-18 20:06:00) [6]

SQL.Text:= 'SELECT * FROM Table1 ORDER BY 2'


Дева   (2005-11-18 20:01:00) [7]

Есть SQL зарос, организованный ADOQuery:

"SELECT * FROM Table1;"

Надо добавить строку (1)

"ORDER BY 2;"

Если добавить, не удаляя точку с запятой ( ; ) в конце запроса, то строка (1) окажется за гранью

Как сохранить
"SELECT * FROM Table1"и добавить

"ORDER BY 2;"


Ega23   (2005-11-18 19:53:00) [8]

Ничего не понял.


Наверх

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