Текущий архив: 2007.04.08;
Скачать: 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 вся ветка
Текущий архив: 2007.04.08;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.094 c