Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Компонент Zeos и его св-ва


Автор: SeeD 5.11.2006, 04:11
Доброго Вам времени суток! 
Помохите, кто чем может! (с) Дело в том, что в пятницу вызвали в зав.кафедрой... и он сказал, либо  будет программа, либо экзамен по предмету я  не сдам.. =( 
Решил исопользовать Zeos компонент. Возникло очень много вопросов! Первый раз пытаюсь что-нить написать в дельфи, с исп. баз данных... 

Вопросы: 
1. Как выбрать какую-то таблицу???
2. Как через кнопку послать sql запрос? 
3. Как заполнить dbgrid?
... 

На самом деле вопросов огромное количество. Возможно, они отпадут, когда хоть что-то узнаю. 
Перерыл весь интернет, искал 6 часов,  но так стоящего не нашел. Скачал DRKB. ща буду изучать!
Буду очень благодарен за помощь!
P.S. База - Mysql
 smile 


M
Girder
Одна тема - один вопрос!
Не нарушайте правил форума!

Автор: Fedia 5.11.2006, 08:02
Опишу порядок действий при работе с Zeos v. 5.XX, необходимых для реализации элементарной выборки дынных.
Все три твои вопроса можно свести к одному: как посредством Sql запроса вывести получить данные из определенной таблицы БД и отобразить их в компоненте DBGrid ?
Помещаешь на форму компоненты:
1. ZMySqlQuery;
2. ZMySqlTransact;
3. ZMySqlDatabase;
4. DataSource;
5. DBGrid;
Далее:
1. У компонентов ZMySqlTransact и ZMySqlQuery свойству DataBase присваиваешь название компонента ZMySqlDatabase.
2. У компонента ZMySqlDatabase заполняешь свойства - параметры подключения к БД и после этого свойство Connected устанавливаешь в значение true.
3. У компонента DBGrid свойству DataSource присваиваешь название компонента DataSource.
4. У компонента DataSource свойству DataSet присваиваешь название компонента ZMySqlQuery.
На событие кнопки OnClick прописываешь:
Код

  ZMySqlQuery1.Close;
  ZMySqlQuery1.Sql.Text:='SELECT * FROM имя таблицы';
  ZMySqlQuery1.Open;

Если все реализуешь правильно, то при нажатии на кнопку на компоненте DBGrid отобразятся данные таблицы, имя которой укажешь в запросе.
Обязательно купи книгу по работе с БД в Delphi, если в дальнейшем тебе придется сталкиваться с подобными задачами.

Автор: SeeD 5.11.2006, 14:17
Отлично! Спасибо, понял.
Но есть еще пара вопросов, пока книгу не купил smile

1. Можно ли изменять значения в TBGrid, и что оно автоматичеки заносилось в базу? 

2. У меня есть база с фамилиями. Как их привязать к Combobox??? В зав-ти от фамилии определенная выборка. То, что выборка сводится к запросу - это я понимаю. А вот как запихнуть фамилии в комбобокс - не очень smile

Автор: Fedia 5.11.2006, 23:38
Цитата(SeeD @  5.11.2006,  14:17 Найти цитируемый пост)
1. Можно ли изменять значения в TBGrid, и что оно автоматичеки заносилось в базу? 

У компонента ZMySqlQuery свойство RequestLive установи в значение true.
Цитата(SeeD @  5.11.2006,  14:17 Найти цитируемый пост)
2. У меня есть база с фамилиями. Как их привязать к Combobox???

Этот вопрос слишком много раз обсуждался, ищи по ключевым словам "Lookup поле", "DBLookupComboBox" на этом форуме или в любом поисковике.

Автор: malor 22.6.2007, 09:13
У меня прога есть. написана с использованием компонентов Zeos (zeosdbo-6.1.5-stable), используется также MySQL 3.23.58.
Я начал делать на компе еще одну прогу с участием MySQL 5.0.37, для такой версии пришлось скачать и поставить ZEOSDBO-6.6.1-beta, удалив 6.1.5.
Но вот понадобилось запустить и поработать с той, первой прогой. Получаю при открытии проекта такие ошибки:
Error reading form 
Error reading CheckNumber.RequestLive: Property RequestLive does not exist. Ignore the error and the continue? NOTE: Ignoring the error may cause components to be deleted or property values to be lost.


Error reading form 
Error reading CheckNumber.ShowRecordTypes: Invalid property value. Ignore the error and continue? NOTE: Ignoring the error 
may cause components to be deleted or property values to be lost. 


В проге есть объявление CheckNumber:TZQuery;

Чел в посте http://zeos.firmos.at/viewtopic.php?t=27&view=previous&sid=60850b5195937cf8c9073f8ff01172d0 говорит, что нужно перекинуть свойство RequestLive 
в классе TZAbstractRODataset из раздела protected в зону published и добавить строку property RequestLive default true; в классы TZQuery и TZTable, 
я проделал, но не помогло... Как избавиться от всего этого?

Delphi 7,WinXP_sp2

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)