Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 5
Всего онлайн: 5
Зарегистрировано юзеров: 7937
Комментариев на сайте: 698
Новый юзер: Micahmum



Последние комментарии
c
Dennisvoifs прокомментировал "Урок 3 - Конструкция IF...THEN...ELSE":
Пункт коммерческого учета цена, Ктп комплектные трансформаторные подстанции москва, Производство ктп москва и не только Вы найдете на нашем специализированном сайте: - Вам к нам!https://sviloguzov.ru/
Arthurneime прокомментировал "Урок 53 - Потоки в Delphi, (часть 1/3)":
[img]https://masterfutures.ru/wp-content/uploads/2020/03/14-2.png[/img] Online trading is becoming increasingly popular, as more people learn of the earning potential of platforms such as Broker, a broker which caters to a significant audience of digital traders (12 million and counting). Known for their excellent user interface, as well as fast deposit and withdrawal times, Broker provides multiple features to help traders earn on the markets. This overview will outline just some of the key aspects traders can expect to enjoy whilst working with Broker broker. Online trading is becoming increasingly popular, as more people learn of the earning potential of platforms such as Broker, a broker which caters to a significant audience of digital traders (12 million and counting). Known for their excellent user interface, as well as fast deposit and withdrawal times, Broker provides multiple features to help traders earn on the markets. This overview will outline just some of the key aspects traders can expect to enjoy whilst working with Broker broker. Broker Broker is operated by a dedicated team, whose main priority has always been to provide the best possible user experience, and ultimately satisfaction. Whether experienced in trading or a newcomer, the platform is easy to use and very responsive. The education section deserves special mention, particularly for assisting traders to learn and implement new strategies – which can be tested on the platforms free demo Source: [url=https://bit.ly/35fv3B6/]Broker[/url] https://bit.ly/35fv3B6/ Tags: Broker

Урок 32 - Объединение всего изученного про базы данных

   В этом уроке мы объединим все, что прошли ранее.

Для начала нам нужно создать пустую таблицу "кадры" с набором полей: "Имя, Фамилия, Отчество, Телефон, Статус". Всё точно также как это делали в прошлом уроке.

Таблица


   Также возьмём за основу пример программы из прошлого урока, добавим 3 кнопки и проверим нашу таблицу:

Таблица


   Мы напишем программу для полноценного управления базой данных (добавление, редактирование, удаление). Добавим новую форму и положим на неё следующие компоненты:

Вторая форма


   Форма готова и чтоб начать задавать свойства нам нужно подключить 2 юнит к 1 юниту, потому что без этого мы не можем обратится к первой форме из второй. Делается это очень просто, создаем обработчик события OnClick на 1 кнопке:
procedure TForm2.Button1Click(Sender: TObject);
begin
Form1.Show; // Вызываем что-нибудь из 1 формы
end;
   И у нас вылезет вот такое окно:

Добавить во второй юнит первый?


   Нажимаем ОК и первая форма подключается ко второй, можно использовать её свойства. Всем DBEdit'ам и BDComboBox1 свойство DataSource зададим как Form1.DataSource1, а DataField как "Имя", "Фамилия", "Отчество", "Телефон", "Статус" соответственно. Далее настроим еще одно свойство у DBComboBox1, кликаем на Items и заполняем его как на рисунке:

Items у DBComboBox1


   Теперь нам надо изменить наш ранее созданный обработчик события на кнопке "ОК", стираем там все что есть и пишем новый код:
procedure TForm2.Button1Click(Sender: TObject);
begin
Form1.ADOQuery1.Post; // Фиксируем изменения
Close;  // Закрываем форму
end;
   И сразу же создадим обработчик события на кнопке "Добавить" на первой форме:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Show; // Показываем вторую форму
ADOQuery1.Insert; // Добавляем строку
end;
   У нас опять вылезет сообщение о том что надо добавить первый юнит ко второму, соглашаемся, компилируем и добавляем:

Добавлине


   Теперь можно заполнять базу данных. Удаляются значения так, создаем обработчик события кнопки "Удалить" на первой форме:
procedure TForm1.Button3Click(Sender: TObject);
begin
ADOQuery1.Delete; // Удаляем элемент
end;
   Все, выделенная строка исчезает. Также легко можно изменить строку, создаем обработчик события кнопки "Изменить":
procedure TForm1.Button2Click(Sender: TObject);
begin
Form2.Show; // Показываем вторую форму
end;
   У нас просто показывается вторая форма и выделенную строку можно изменять.

   Теперь представим что наша база данных состоит из тысячи строки и нам надо найти одну единственную, эта задача решается поиском строки, это мы сейчас и сделаем. Кидаем на форму компонент StatusBar и 2 раза кликаем на неё, в открывшемся окне создаем новую панель и закрываем. Создаем глобальную переменную fs: String и в обработчике события OnKeyPress DBGrid1 пишем код:
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
fs:= fs + Key; // Прибавляем символ нажатой клавиши к искомому слову
DBGrid1.DataSource.DataSet.Locate('Имя', fs, [loPartialKey]); // Выполняем поиск в столбце "Имя" 
StatusBar1.Panels.Items[0].Text:= 'Ищем: ' + fs; // выводим что мы ввели
end;
   И что бы во время печатания слова мы случайно не изменили значение в таблице надо установит свойство dgRowSelect у DBGrid1, которое находится в списке Options на True. Все поиск у нас есть, давайте его опробуем, запускаем программу и вводим "ми":

Поиск слова `ми`


   И выделяется "Мигель", Вводим "мих", выделяется "Михаил":

Поиск слова `мих`


Удачи!
Встретимся в следующем уроке!


Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 2 Мая 2013
Просмотров:

Урок 31 - Продолжение работы с базами данных Урок 33 - Автовыключатель компьютера

Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.



аватар Добавил(а): FallenRu [Новичок] Дата: 2013-06-01
А как создать поиск (если нету adoquary, а есть ado table) ?поподробней если не сложно с *.locate




аватар Добавил(а): FallenRu [Новичок] Дата: 2013-06-01
Уже не надо))




аватар Добавил(а): mikkylovejoe [Новичок] Дата: 2013-06-20
А как сделать так что б таблица таблица сама подвигалась влево, а то все время самому приходится её двигать.




аватар Добавил(а): s-kozelsk [Новичок] Дата: 2018-03-20
Подскажите кто-нибудь, что делать если при запуске не могу ничего ввести в dbEdit (Readonly = false, Enebled = true, Datasource настроил)?