Вниз
Скачать: CL | DM;

и снова динамические запросы   Найти похожие ветки 

← →
Bolek ©   (2007-01-17 04:35) [0]

Пытаюсь динамически сделать запрос. Вот код:
procedure TForm2.FormCreate(Sender: TObject);
begin
   case Form1.RadioGroup1.ItemIndex of
    0:
       begin
         s := "fio";
       end;
    1:
       begin
         s := "group";
       end;
    2:
       begin
         s := "born";
       end;
 end;

 Form2.Query1.Close;
 Form2.Query1.SQL.Clear;
 Form2.Query1.SQL.Add("SELECT FIO, "GROUP", BORN from " + Form1.Table1.TableName);
 Form2.Query1.SQL.Add(" WHERE UPPER("" + s + "") LIKE UPPER" + "("+ Form1.Edit1.Text + ")");
 Form2.Query1.Open;
end;

компилятор ругается на правую скобку во второй строке. ничего не понимаю - вроде все на месте


← →
Константин_   (2007-01-17 08:15) [1]


>  Form2.Query1.SQL.Add(" WHERE UPPER("" + s + "") LIKE UPPER"
> + "("+ Form1.Edit1.Text + ")");

S у тебя название поля, зачем его брать в кавычки?
Попробуй без этого.


← →
Desdechado ©   (2007-01-17 11:03) [2]

Константин_   (17.01.07 08:15) [1]
Там все корректно. Если название поля совпадает с зарезервированным словом (а судя по коду, может - GROUP), то его берут в кавычки.

Bolek ©   (17.01.07 04:35)
Я бы заменил
Form2.Query1.SQL.Clear;
Form2.Query1.SQL.Add("

на Query1.SQL.Text:=.
А LIKE UPPER" + "("+ Form1.Edit1.Text + ")"); заменил бы на
LIKE :P";
Query1.Params[0].AsString := AnsiUpperCase(Form1.Edit1.Text);

А то зачем заставлять сервер преобразовывать, если это можно сделать однократно на клиенте.


← →
vlad-mal ©   (2007-01-17 23:27) [3]


> компилятор ругается на правую скобку во второй строке. ничего
> не понимаю - вроде все на месте


А у меня (D7, SP1) нормально компилится.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
6-1161682892
Tonich
2006-10-24 13:41
2007.04.08
TNMSMTP


1-1171611476
sia
2007-02-16 10:37
2007.04.08
F1Book печатает не на тот принтер, что я указываю


3-1169117281
samalex
2007-01-18 13:48
2007.04.08
Подключение к MySQL


15-1174047042
Gorlum
2007-03-16 15:10
2007.04.08
Ну раз "Прочее", отважусь спросить...:)


15-1173882328
eXPell
2007-03-14 17:25
2007.04.08
Как бы вы поступили?




   Наверх