Вниз
Скачать: 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.049 c
2-1174394894
Alex_C
2007-03-20 15:48
2007.04.08
Длина поля Caption для TForm


3-1169045274
PEAKTOP
2007-01-17 17:47
2007.04.08
Функция UPPER в Firebird v2.0


2-1173899922
Василиус
2007-03-14 22:18
2007.04.08
Добрый ночер


15-1173640857
Cyrax
2007-03-11 22:20
2007.04.08
Активные форумы по CASE-системам...


2-1174379520
Malik
2007-03-20 11:32
2007.04.08
Вопрос про распечатку на принтере




   Наверх