Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #31  
Старый 23.06.2015, 07:15
nikotan nikotan вне форума
Новичок
 
Регистрация: 21.06.2015
Сообщения: 58
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

ну вот как то так, вводишь номер кабинета,выборка, по кабинетам
вводишь буквы по названию(title(edit1)) то выборка, по буквам+ только по кабинетам из выше введеных, но если я очищу поле кабинеты, то сразу должны выпасть все записи (по всей таблице) из букв коtорые введены в edit1(название) очистил edit1 сразу вся таблица показана
а у меня счас ввожу в edit1 буквы, показыват записи, но как только ввожу в edit2 выдаёт только кабинеты, не учитывет edit1.
  #32  
Старый 23.06.2015, 08:51
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Ну вот же правильное решение
Цитата:
Сообщение от nikotan
как тогда правильней сделать запрос?
мой код
Код:
procedure TForm1.Edit1Change(Sender: TObject);
 begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
AdoQuery1.Sql.Text := 'select * from organized where Title like :Param1 and classroom like :Param2';
 AdoQuery1.Parameters.ParamValues['Param1']:= '%' + Form1.Edit1.Text + '%';
AdoQuery1.Parameters.ParamValues['Param2'] := '%' + Form1.Edit2.Text + '%';
AdoQuery1.Open;
end;

Просто на оба Edit навесить один обработчик.
Жмешь F11, вкладка Events, выделяешь ячейку OnChange и пишешь туда Edit1Change, для второго edit точно так же, тоже Edit1Change вписать.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
  #33  
Старый 23.06.2015, 15:46
nikotan nikotan вне форума
Новичок
 
Регистрация: 21.06.2015
Сообщения: 58
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

спасибо. скоро до компа добегу, попробую!
  #34  
Старый 23.06.2015, 18:19
nikotan nikotan вне форума
Новичок
 
Регистрация: 21.06.2015
Сообщения: 58
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

я заметил что постоянно код не работает, теперь понял, сохранился в новой папке, progect1 и save as, нажал сохранить всё и всё больше не работает, а загружаешь предыдущий работает
  #35  
Старый 23.06.2015, 18:35
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Мда...................
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
  #36  
Старый 23.06.2015, 18:38
nikotan nikotan вне форума
Новичок
 
Регистрация: 21.06.2015
Сообщения: 58
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

я счас уеду на пару часов, наверно может через скайп, за отдельную плату? в пределах разумного, с коипами 20 лет, но что-то эту прогу победить не могу
  #37  
Старый 23.06.2015, 21:00
nikotan nikotan вне форума
Новичок
 
Регистрация: 21.06.2015
Сообщения: 58
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

в edit2 в событии добавил edit1 и теперь при запуске в edit2 не вводятся буквы
  #38  
Старый 23.06.2015, 21:14
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Да нет, не нужно ничего добавлять, наоборот, необходимо вообще событие Edit2Change удалить, а затем в инспекторе выбрать вместо него Edit1Change... ведь Мэд уже разложил всё по-полкам
  #39  
Старый 23.06.2015, 21:21
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Да закинь ты уже исходник, пусть тебе кто-нибудь сделает, а то месяц эта тема будет флеймиться.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
  #40  
Старый 23.06.2015, 21:28
nikotan nikotan вне форума
Новичок
 
Регистрация: 21.06.2015
Сообщения: 58
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

счас попробую, для интереса, но я на edit2 повесил ваш код
Код:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
AdoQuery1.Sql.Text := 'select * from organized where classroom like :Param1';
  AdoQuery1.Parameters.ParamValues['Param1']:= '%' + Form1.Edit2.Text + '%';

AdoQuery1.Open;
end;
и всё прекрасно работает!

до этого старый код на edit2 был
Код:
 help2:=Quotedstr(help1);
        With Form1.ADOQuery1 do
        begin
          close;
          sql.Clear;
          sql.Add('select * from organized where classroom like'+help2);
          open;
        end;
огромное спасибо!
но это только начало
надо поставить кнопку которая показывает какой язык в данный момент(имена и на русском , и на английском)
это только средняя колонка с базой данных, надо ещё две колонки сделать, одна с подсчётами ставок( в школе 10 ставок уборщиков, сколько занято, сколько свободно, так же дворники, рабочии) у меня в accese это уже сделано, надо сюда засунуть, ещё третья колонка "Напоминалка" , но чтоб Вас особо не утруждать, пока в нете поищу как делается(но не откажусь от помощи) ,а счас за кнопочку был бы благодарен, нажал русская раскладка, нажал английская.

могу скинуть исходник, но проблема в том что препод дотошный, будет всё спрашивать, вот пытаюсь научиться, но пока заработало, спасибо!
счас форму в порядок приведу, чтоб понятно было и красиво, и скину если что!

а научите сохранять правильно проект
DELPHI RAD XE8
просто надо сохранять проект на разных стадиях, в разных папках, чтоб можно было загрузить прежнюю, если проблемы возникнут.
не смейтесь, самому смешно, но проект не работает, если в новой папке сохраню.

я понял, вторая форма не сохраняется, выдает ошибку unit2, красным горит

надо сохранять под именем unit2, я сохранял unit8

Последний раз редактировалось M.A.D.M.A.N., 23.06.2015 в 22:39.
  #41  
Старый 26.06.2015, 17:17
nikotan nikotan вне форума
Новичок
 
Регистрация: 21.06.2015
Сообщения: 58
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

ребят, немного поиск всё таки не так работает, я благодарен за то что сделали, но надо улучшить:
на данный момент ввожу в edit1(поиск) буквы и выдаёт все названия где есть такая последовательность, всё замечательно, но ввожу в edit2(кабинет) число и вот он всё что есть в этом кабинете, а надо только то что прописано в edit1(поиск)
ещё плохо что если очистишь появятся все записи в таблице, а номер кабинета ведь указан в edit2(кабинет)

Код:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  ADOQuery1.Close;
ADOQuery1.SQL.Clear;
AdoQuery1.Sql.Text := 'select * from organized where Title like :Param1 or Inventary like:Param3 and classroom like :Param2';
  AdoQuery1.Parameters.ParamValues['Param1']:= '%' + Form1.Edit1.Text + '%';
    AdoQuery1.Parameters.ParamValues['Param3']:= '%' + Form1.Edit1.Text + '%';
   AdoQuery1.Parameters.ParamValues['Param2'] :='%' +Form1.Edit2.Text + '%';
 AdoQuery1.Open;
end;

procedure TForm1.Edit2Change(Sender: TObject);
 begin
         ADOQuery1.Close;
ADOQuery1.SQL.Clear;
AdoQuery1.Sql.Text := 'select * from organized where classroom like :Param1';
  AdoQuery1.Parameters.ParamValues['Param1']:=Form1.Edit2.Text;
    AdoQuery1.Open;
end;
end.

и ещё вопрос почему очищаешь edit1(поиск) выдаёт всю таблицу, а очищаешь edit2(кабинет) таблица пустая?
сами попробуйте , фаил прицепил "Debug.rar"
  #42  
Старый 26.06.2015, 17:20
nikotan nikotan вне форума
Новичок
 
Регистрация: 21.06.2015
Сообщения: 58
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

блин исполняющий фаил 17 метров, сжимается до 4метров, тут допустимо 2.8 метра, как фаил скинуть?
  #43  
Старый 26.06.2015, 17:32
nikotan nikotan вне форума
Новичок
 
Регистрация: 21.06.2015
Сообщения: 58
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Во на две части разбил архив разбил
Вложения
Тип файла: rar Project80.part1.rar (2.50 Мбайт, 1 просмотров)
Тип файла: rar Project80.part2.rar (1.27 Мбайт, 1 просмотров)
  #44  
Старый 27.06.2015, 11:49
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

База то где? И потом, вы чего в файл напихали, что аж 18 мегов он стал?
Лучше бы исходник проекта скинул. От исполняемого файла мало толку.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение:
nikotan (27.06.2015)
  #45  
Старый 27.06.2015, 23:01
nikotan nikotan вне форума
Новичок
 
Регистрация: 21.06.2015
Сообщения: 58
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

на стационаре RAD XE 8,сам не знаю почему так. а на ноуте, я просто один и тот же проект на двух компах делаю, для заучки, ну и ночью могу только за ноутом сидеть, здесь delhpi 7 870 кб.
Вложения
Тип файла: rar ProjectOrganize.rar (369.2 Кбайт, 3 просмотров)
Закрытая тема


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:53.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter