Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2009, 19:41   #1
Ba4ok
Новичок
Джуниор
 
Регистрация: 12.10.2009
Сообщений: 1
По умолчанию БД деканат

Здраствуйте! Помогите пожалуйста новичку. Я хочу создать БД Деканат. Все сделал. Теперь у меня не работает "ЗАПРОС". Когда я нажимаю на кнопку запрос, он должен по фамилиям искать.
Ba4ok вне форума Ответить с цитированием
Старый 12.10.2009, 19:52   #2
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

Здраствуйте! Помогите пожалуйста новичку. Я хочу создать БД Деканат. Все сделал. Теперь у меня не работает "ЗАПРОС". Когда я нажимаю на кнопку запрос, он должен по фамилиям искат

И что тебе на это ответить?
Сделай так и получи это.
Во первых нужна структура, то что вы пишите в запросе, и ваша субд
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 12.10.2009, 20:05   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Автор, если тебе нужен поиск по фамилии, но без SQL, то это можно сделать например так (если делаете в BDE):
Код:
procedure TForm6.BitBtn1Click(Sender: TObject);
begin
 if not Form2.Table_infa.Locate('LAST_NAME;FIRST_NAME;OTCHESTVO',VarArrayOf([Form6.Edit1.Text,
                                                             Form6.Edit2.Text,
                                                             Form6.Edit3.Text]),
                                         [loCaseInsensitive,loPartialKey]) then
  begin
   ShowMessage(' Запись не найдена. Проверьте правильность ' + #13 +
   '             ввода значений для поиска! ');
  end;
end;
А если с использованием SQL то как то так например:
Код:
procedure TForm5.BitBtn11Click(Sender: TObject);
var
 WHERE, DELIM, i:string;
begin
 with  Form5.Query1 do
  Form5.Query1.SQL.Clear;
  Form5.Query1.SQL.Add('SELECT * ');
  Form5.Query1.SQL.Add('FROM tab');
  Form5.Query1.SQL.ADD('WHERE Familiy=+'QuotedStr(Form5.Edit1.Text);
  Form5.Query1.Active:=True;
 end;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 12.10.2009, 21:56   #4
nn377
Пользователь
 
Аватар для nn377
 
Регистрация: 05.02.2009
Сообщений: 14
Радость

А зачем в with Form5.Query1 do всё время with Form5.Query1 do писать?
A Barbarian I'm here and nobody can understand me...
nn377 вне форума Ответить с цитированием
Старый 12.10.2009, 23:40   #5
Шульц
Форумчанин
 
Регистрация: 14.09.2008
Сообщений: 172
По умолчанию

Это типа не доглядел, наверно
Шипулин А. В.
Шульц вне форума Ответить с цитированием
Старый 13.10.2009, 06:28   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Это мой стиль просто)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 13.10.2009, 08:35   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Это мой стиль просто)
Нелогичный стиль учитывая что with Form5.Query1 do охватывает только следующий за ним оператор. Отказывайся от такого левописания - сам же потом замучаешся.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.10.2009, 09:58   #8
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

по-хорошему, with - это грабли, на которые сам потом и наступишь
например, при переносе кода куда-нить еще где есть уже with, либо компилятор выберет не того к кому применить описанные методы/процедуры, либо будет тяжело дебажить
soleil@mmc вне форума Ответить с цитированием
Старый 13.10.2009, 11:51   #9
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Я кажись вас не допонял всех . Я имел ввиду, что если я пишу такой код:
Код:
procedure TForm5.BitBtn11Click(Sender: TObject);
begin
 with  Query1 do
  Query1.SQL.Clear;
  Query1.SQL.Add('SELECT * ');
  Query1.SQL.Add('FROM tab');
  Query1.SQL.ADD('WHERE Familiy=+'QuotedStr(Edit1.Text);
  Query1.Active:=True;
 end;
То так я пишу:
Код:
procedure TForm5.BitBtn11Click(Sender: TObject);
var
 WHERE, DELIM, i:string;
begin
 with  Form5.Query1 do
  Form5.Query1.SQL.Clear;
  Form5.Query1.SQL.Add('SELECT * ');
  Form5.Query1.SQL.Add('FROM tab');
  Form5.Query1.SQL.ADD('WHERE Familiy=+'QuotedStr(Form5.Edit1.Text);
  Form5.Query1.Active:=True;
 end;
Это у еня для того, чтобы не запутаться что это за Query1. А на счет with я с вами со всеми согласен
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 13.10.2009, 12:56   #10
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Это у еня для того, чтобы не запутаться что это за Query1. А на счет with я с вами со всеми согласен
в таком случае лучше вообще не пользоваться with-ом
soleil@mmc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц