|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
13.10.2011, 18:56 | #1 |
Форумчанин
Регистрация: 24.06.2009
Сообщений: 216
|
Несколько вопросов по FIBplus компонентам
Привет всем.
Решил тут перевести одну БД под Firebird. Скачал и установил FIB+ под Delphi 7. После установки в среде Delphi появились 2 новых вкладки (FIBPlus и FIBPlusServices). Создал базу BASE.fdb пока с двумя табличками. Создал в Delphi пробный проект. Положил на форму следующие компоненты: 1. pFIBDatabase1 2. pFIBQuery1 3. DBGridEh В pFIBDatabase1 прописал путь к базе данных, пользователя и пароль, затем подключился. В pFIBQuery1 прописал запрос для выбора всех записей из таблицы и вот тут проблема. Как связать DBGridEh и эти компоненты. Пробовал через DataSource (как всегда раньше делал с другими БД), но безуспешно. Подскажите пожалуйста что мне дальше делать? Только прошу сильно не пинать, так как с Firebird я только начал разбираться. Заранее премного благодарен.
Водку мы пьем для запаха - а дури нам своей хватает!
|
13.10.2011, 20:11 | #2 |
Форумчанин
Регистрация: 29.09.2011
Сообщений: 116
|
20:11
query и database на той же форме или в datamodule? 20:24 вместо fibquery используйте fibdataset. тогда стандартный datasource примет его и обязательно хоть один fibtransaction (ну и естественно его настроить) Пора бы уже и прочесть правила раздела... А пока - штраф за флуд, за нежелание эти правила соблюдать. Последний раз редактировалось mihali4; 17.10.2011 в 00:21. |
13.10.2011, 20:40 | #3 |
Форумчанин
Регистрация: 24.06.2009
Сообщений: 216
|
Вот. Спасибо большое. Все получилось. А теперь еще один вопрос. Я создаю таблицы в БД с помощью утилиты IBExpert, так вот, при импорте таблицы из фалов DBF (причем пробовал и через Эксель и Эксэс) почему то формат DATE, становится VARCHAR, и не удается его изменить (выдает ошибку). Как быть в этом случае? Можно ли там как то поменять формат безболезненно и без потерь?
Водку мы пьем для запаха - а дури нам своей хватает!
Последний раз редактировалось mihali4; 17.10.2011 в 11:45. |
13.10.2011, 22:56 | #4 |
Форумчанин
Регистрация: 29.09.2011
Сообщений: 116
|
при импорте в окне есть закладки. Вам нужна закладка Columns/Mapping. в ней выставляются типы полей до импорта. вот там и укажите нужные вам типы
только все типы прийдется вводить руками, так что если точно не помните как пишется тот или иной тип - перепишите его куда нить ну а чтоб изменить тип поля нужно: создать дополнительное поле, в него скопировать все данные из поля, тип которого нужно изменить, удалить старое поле, создать его по новой с нужным типом, скопировать данные из временного поля с приведением типа, удалить временное поле. пример: Код:
Последний раз редактировалось mihali4; 17.10.2011 в 11:45. Причина: Добавление |
15.10.2011, 16:39 | #5 |
Форумчанин
Регистрация: 24.06.2009
Сообщений: 216
|
ОК, спасибо огромное, теперь подскажите пожалуйста. Есть ли в Firebird тип данных подобный типу "Счетчик" в базе Access или еще в некоторых он называется AUTOINCREMENT?
Водку мы пьем для запаха - а дури нам своей хватает!
|
15.10.2011, 23:51 | #6 |
Форумчанин
Регистрация: 29.09.2011
Сообщений: 116
|
как такого типа autoincrement нет. счетчики определяются любым целым типом и созданием генератора. вдобавок можно еще создать триггер который будет увеличивать на определенное значение ваш индекс. в IBExpert при создании таблицы установите галочку в поле AutoInc и в появившемся окне создайте генератор и триггер.
|
16.10.2011, 07:41 | #7 | |
Форумчанин
Регистрация: 24.06.2009
Сообщений: 216
|
07:41
Цитата:
08:47 Вот еще столкнулся с такой проблемой. До этого БД была AbsoluteDB. Сейчас меняю все компоненты в программе на FIB+ ну и соответственно немного переделываю код. Но возникают следующие ошибки на картинках. В чем может быть проблема? Запрос пишу такого плана: Код:
А пока - штраф за флуд, за нежелание эти правила соблюдать.
Водку мы пьем для запаха - а дури нам своей хватает!
Последний раз редактировалось mihali4; 17.10.2011 в 00:26. |
|
16.10.2011, 09:02 | #8 | ||
Форумчанин
Регистрация: 04.10.2007
Сообщений: 106
|
Цитата:
Можно но это не автоинкремент будет. Цитата:
А второй не может обновить набор данных. Почему непонятно.
Все не так плохо, как вам кажется, на самом деле все гораздо хуже.
http://delphiworld.narod.ru/dw.html - 5000 статей!!! удобный поиск, оффлайн сборник, рекомендую всем |
||
16.10.2011, 20:14 | #9 |
Форумчанин
Регистрация: 24.06.2009
Сообщений: 216
|
ОК, спасибо большое. Теперь перед изменением запроса сначала закрываю датасет.
Но есть другая проблема. Подскажите мне надо к примеру выбрать записи из таблицы за определенный период, как это сделать? Делаю так: Код:
Водку мы пьем для запаха - а дури нам своей хватает!
|
17.10.2011, 10:52 | #10 |
Форумчанин
Регистрация: 04.10.2007
Сообщений: 106
|
Выглядит логично но дату надо передавать как строковое значение- т.е. в обрамлении апострофов. Предлагаю не париться и вместо конструкций типа
Код:
Код:
Все не так плохо, как вам кажется, на самом деле все гораздо хуже.
http://delphiworld.narod.ru/dw.html - 5000 статей!!! удобный поиск, оффлайн сборник, рекомендую всем |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
несколько вопросов по C | Horus92 | Общие вопросы C/C++ | 2 | 15.11.2009 16:08 |
БД - Несколько вопросов | lutdan | БД в Delphi | 3 | 11.10.2009 20:22 |
несколько вопросов | fitc | Общие вопросы Delphi | 28 | 14.07.2009 21:20 |
Несколько Вопросов | Дорст | Общие вопросы Delphi | 3 | 12.11.2007 09:18 |