|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
БД Запрос с одного окна другому...
Я хочу сделать SQL запрос из одного окна (в нем нет SQL не DB, просто окно, для поиска..) другому, но вот точно не знаю как.. подскажи мне пожалуйсто и поправьте ....
Зарание спасибо! Вот что я намудрил: Код:
procedure TForm13.Button1Click(Sender: TObject); begin Fam:=Edit1.text; Name:=Edit2.Text; Clas:=Edit3.Text; if Fam > '' and Name > '' and Clas > '' then begin with form2.Query do begin Form2.Query.Close; Form2.Query.SQL.Add('SELECT * FROM liceym.db WHERE Fam, Name, Clas LIKE "'+ Fam + '","'+ Name + '","'+ Clas + '"'); Form2.Query.Open; end; if Form2.Query.RecordCount <> 0 then Form2.QSource.DataSet:=Query else begin ShowMessage ('Ничего не было найдено'); Form3DSource.DataSet:=Table; end; end; end; в 3 Edit-а вводим, имя, фамилию и класс, нажимаем кнопку Поиск, и из Формы №4 идет запрос форме №2.... Очень прошу помогите!!! Последний раз редактировалось JIexa, 10.01.2008 в 00:57. |
#2
|
|||
|
|||
ты не правильно пишеш запрос с оператором Like. Привожу пример на своем поекте. Поиск по двум полям из БД по мере набора букв.
procedure TForm10.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin Poisk.Close; Poisk.SQL.Strings[13] := 'Where (fio Like :a) and (gorod Like :b)'; // половина запроса уже записано в TQuery. Poisk.Prepare; Poisk.Params[0].AsString := Edit1.Text+'%'; Poisk.Params[1].AsString := Edit2.Text+'%'; Poisk.Open; end; Тебе нужно определиться, писать полностью фамилю, имя и класс или ты хочешь сделать поиск по нескольким буквам фамилии или имени или номеру класса. Последнее я думаю предпочтительней. Последний раз редактировалось vlad19, 10.01.2008 в 16:59. |
#3
|
||||
|
||||
Цитата:
Ты немножко не так записал! Исправь на: Код:
Form1.Query1.Close; Form1.Query1.SQL.Clear; Form1.Query1.SQL.Add('SELECT * FROM base.db WHERE (fam LIKE "'+Form2.DBEdit1.Text+') and (nam LIKE "'+Form2.DBEdit2.Text+') and (klas LIKE "'+Form2.DBEdit3.Text+') '); Form1.Query1.Open; Поживу - увижу, Доживу - узнаю, Выживу - учту. [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|