forum.rastrnet.ru

forum.rastrnet.ru (http://forum.rastrnet.ru/index.php)
-   Программируем (http://forum.rastrnet.ru/forumdisplay.php?f=35)
-   -   Нужна помощь по Delphi 7 (http://forum.rastrnet.ru/showthread.php?t=12292)

enikeu 05.01.2006 13:55

Нужна помощь по Delphi 7
 
Не могу никак сделать поиск в программе, потерял исходники готового поиска, а у самого чето еще ума не хватает :-)

Суть в том, что надо в поле Edit1 вписать текст, нажать на кнопочку (в которой должна быть прописана вся процедура поиска) и вывести результат в таблице через DBGrid1

Поиск ведется из таблицы сделанной в MS Access и связанной с программной через компнонент ADOQuery

вот как это примерно выглядеть должно...

procedure TForm4.Button2Click(Sender: TObject);
var sql:string;
begin
sql:='';
ADOQuery1.Active:=false;
if Edit1.text<>'' then sql:='a.Название like "'+Edit1.text+'%"';
if (sql<>'') then sql:='where '+sql;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from Games a '+sql);
ADOQuery1.Active:=true;
end;

помоги мне :help:

enikeu 05.01.2006 14:28

База данных Games.mdb в ней таблица Games, в таблице строка Название именно на нее мне надо сделать этот сраный поиск :-/

у меня почему то выдается "Ошибка синтаксиса в предложении FROM", помогите мне :-)

COBEHOK 05.01.2006 19:46

запрос должен быть примерно таким:
Код:

select * from Games as a where (a.Название like "text");

enikeu 05.01.2006 20:35

так он будет искать тока "text" прописанный в коде, а мне надо чтобы тот который я буду вводить в поле Edit

nolan 05.01.2006 21:04

мде..

sql:='a.Название like '''+Edit1.text+'%''';

отметьте - вокруг Edit1.text - по 3(!) апострофа.

ps sorry, такая конструкция точно работает для сиквеля, для акцеса не может другое что.

enikeu 05.01.2006 21:13

это 100% рабочий код из рабочей программы только немного переделанный

enikeu 05.01.2006 21:14

кстати это не 3(!) апострофа, это кавычки и 1 апостраф

nolan 05.01.2006 21:40

попробуй написать

from games as a

вдруг поможет. :)

enikeu 07.01.2006 16:07

лююююююди ну помогите сделать поиск!!! :-(((

enikeu 07.01.2006 20:07

/me гордится собой :-)
вот подумал, рас никто не хочет помочь нада делать самому... и сделал! 8-))

кому интересно код получился такой
Цитата:

procedure TForm2.BitBtn8Click(Sender: TObject);
var
sql:string;
sqlu:string;

begin
sql:='';
sqlu:='';
ADOQuery1.Active:=false;
if Edit1.text<>'' then begin
if (sql<>'') then begin
sqlu:='a.[Название] like "'+Edit1.text+'%"';
sql:=sql+' and '+sqlu;
end
else begin
sqlu:='a.[Название] like "'+Edit1.text+'%"';
sql:=sql+sqlu;
end
end;
if (sql<>'') then
begin
sql:='where '+sql;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from Игры a '+sql);
ADOQuery1.Active:=true;
end;
end;


Текущее время: 01:44. Часовой пояс GMT +7.

Powered by vBulletin® Version 3.8.4 Patch Level 5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot

Форум открыт в июле 2004 г.