![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос на выборку похожих записей. [D6, access]
Леха © (2005-07-15 10:07:00)Не получается правильно написать код на выборку похожих записей, хоть убей, проблема с кавычками, помогите пожалуйста.
Использую АДО.
Вот код, не знаю я как еще кавычки добавить перед и после %
procedure TReg.likeEditChange(Sender: TObject);
var
Naimen: string;
begin
if LikeEdit.Text<>'' then
begin
Query1.SQL.Text:='select * from реестр where Name like=:Namimen';
Naimen:='%'+ LikeEdit.Text + '%';
Query1.Parameters[0].Value:=Naimen;
Query1.Open;
end;
if LikeEdit.Text='' then
Query1.SQL.Text:='select * from реестр';
Query1.Open;
end;
msguns (2005-07-15 11:22:00) [1]>ЮЮ © (15.07.05 11:11) [15]
>Тем не менее, все лавры тебе достались :)
Ну ладно, возьми уж пару листиков ;)))
Леха (2005-07-15 11:14:00) [2]Извеняюсь, ЮЮ. Я Вам тоже благодарен.
ЮЮ (2005-07-15 11:11:00) [3]>Пост [9] прошу игнорировать ...
Тем не менее, все лавры тебе достались :)
Леха (2005-07-15 11:07:00) [4]Какой я баран. Я извеняюсь, как я равно не заметил. Простите за потраченое время на меня.
ВСЕМ СПАСИБО, особенно MSGUNS
msguns (2005-07-15 11:04:00) [5]Пост [9] прошу игнорировать,- не врубился в то, что само строковое выражение не в кавычках ;)
msguns (2005-07-15 11:02:00) [6]>ЮЮ © (15.07.05 11:00) [8]
>откуда там '=' взялся
Даже не обратил внимания ;))
Плохиш (2005-07-15 11:02:00) [7]
> ЮЮ © (15.07.05 11:00) [8]
О, точно =заменить на пробел :-)
msguns (2005-07-15 11:01:00) [8]Если надо найти текст, фрагмент которого задается как ["Маша], а [Маша] как бы в эдите, то
Query1.Parameters[0].Value:='% "'+ LikeEdit.Text + '%';
Только непонятно, почему юзер не может набрать нужные кавычки в самом эдите.
Плохиш (2005-07-15 11:01:00) [9]Query1.SQL.Text:='select * from реестр where Name like=' + AnsiQuotedStr('%'+ LikeEdit.Text + '%');
ЮЮ (2005-07-15 11:00:00) [10]select * from реестр where Name like:Namimen
откуда там '=' взялся
Леха (2005-07-15 10:56:00) [11]Попробовал и так, но все равно ошибка
Код немного поправил
procedure TReg.SpeedButton1Click(Sender: TObject);
var
Naimen: string;
begin
if LikeEdit.Text<>'' then
begin
Query1.Close;
Query1.SQL.Text:='select * from реестр where Name like=:Namimen';
//Вот изменения
Query1.Parameters[0].Value:='%'+ LikeEdit.Text + '%';
Query1.open;
end;
if LikeEdit.Text='' then
Query1.SQL.Text:='select * from реестр';
Query1.Open;
end;
ЮЮ (2005-07-15 10:46:00) [12]Query1.Parameters[0].Value:= '%'+ LikeEdit.Text + '%';
а Naimen здесь просто лишний
Леха (2005-07-15 10:28:00) [13]Все что связано с ПК мне нравиться, люблю заниматься ПРАКТИЧЕСКИ ВСЕМ, поэтому знаю многое но по не много.
Ладно, спасибо за помощь, буду подбирать методом научного тыка...
Anatoly Podgoretsky (2005-07-15 10:22:00) [14]Леха (15.07.05 10:12) [2]
А чего же полез в программирование, есть множество профессий где английский не требуется.
Леха (2005-07-15 10:20:00) [15]Naimen:='"%'+ LikeEdit.Text + '%"';
Вот попробовал и так, но нет ругается на неверный синтаксис...
Леха (2005-07-15 10:12:00) [16]Попробую найти, проблема правда, я английский знаю на уровне букв :). Ну не учил я английский в школе...
Johnmen (2005-07-15 10:11:00) [17]Попробуй заглянуть в LocalSQL.hlp по поводу применения LIKE.