Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Гродненский Форум
27 Апрель 2024, 07:23:42
Новости, реклама:
   Главная   Новости Гродно Помощь Игры Календарь Войти Регистрация   Меню
Гродненский Форум > Компьютеры > Программирование
(Модераторы: Админ, barmalei) > Тема:

TIBQuery не подключается к таблице

Страниц  : 1 2 Далее» [Все]   Вниз
  Печать  
Автор Тема: TIBQuery не подключается к таблице  (Прочитано 4448 раз)
0 Пользователей и 1 Гость смотрят эту тему.
alex-v
Настоящий гродненец
****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 320

Просмотр профиля
« : 03 Март 2008, 17:32:03 »

Добрый день!

Решил поработать с InterBase компонентами.

Создал таблицу с помощью компоненты TIBTable. А потом пытаюсь открыть эту таблицу компонентой TIBQuery (запрос к примеру "select * from table"), и она не открывается. Выдает ошибку "Table unknown".

Подскажите, кто знает, в чем дело? Как открыть таблицу с помощью TIBQuery?
Записан
Gloomy Fox
Гродненец
**

Репутация: +43/-0
Offline Offline

Пол: Мужской
Сообщений: 296


to live is to die

Просмотр профиля WWW
« Ответ #1 : 03 Март 2008, 18:45:28 »

Видимо ты чего-то недопонял. Схема обычно такая:
TIBDatabase -> TIBTransaction -> (TIBDataSet / TIBTable / TIB...) -> TDataSource -> (TDBGrid / TDBEdit / TDB...)
А то, что ты пытаешься сделать, как-то непостижимо...
Записан
alex-v
Настоящий гродненец
****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 320

Просмотр профиля
« Ответ #2 : 03 Март 2008, 20:59:36 »

Да, я понимаю что схема такая. Согласен.
Но вот почему компонент TIBQuery не видит таблицы, которые я создал с помощью компоненты TIBTable?
Я пишу запрос для TIBQuery примерно такой "select * from qwe" (qwe - имя таблицы). И программа выдает ошибку "Table unknown".
Записан
Не факт...хотя...
Почетный гродненец
*****

Репутация: +981/-4
Offline Offline

Пол: Мужской
Сообщений: 2207


कृष्ण

Просмотр профиля WWW Email
« Ответ #3 : 04 Март 2008, 11:49:11 »

Цитировать
Да, я понимаю что схема такая. Согласен.
Но вот почему компонент TIBQuery [highlight]не видит таблицы, которые я создал с помощью компоненты TIBTable[/highlight]?
Я пишу запрос для TIBQuery примерно такой "select * from qwe" (qwe - имя таблицы). И программа выдает ошибку "Table unknown".
это как ?
Записан
alex-v
Настоящий гродненец
****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 320

Просмотр профиля
« Ответ #4 : 04 Март 2008, 14:10:31 »

Я же писал:
пишу запрос для TIBQuery: "select * from qwe1", где qwe1 - таблица созданная ранее компонентой TIBTable. И программа выдает ошибку "Table unknown".
Записан
maxposedon
Настоящий гродненец
****

Репутация: +26/-0
Offline Offline

Сообщений: 696


empty

Просмотр профиля
« Ответ #5 : 04 Март 2008, 14:14:49 »

Это значит что в базе нету таблицы qwe1, неужели не ясно?
Возможно потому, что надо схема.таблица. (И при создании тоже)
« Последнее редактирование: 04 Март 2008, 14:18:03 от maxposedon » Записан
alex-v
Настоящий гродненец
****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 320

Просмотр профиля
« Ответ #6 : 04 Март 2008, 14:51:51 »

maxposedon, но таблица qwe1 создана реально. Даже данными её уже наполнил. Таблица есть!!!
А что значит "схема.таблица"? Объясни пожалуйста.
Записан
AlexO
Гродненец
**

Репутация: +16/-1
Offline Offline

Пол: Мужской
Сообщений: 232


Я люблю Гродненский форум!

Просмотр профиля
« Ответ #7 : 04 Март 2008, 15:11:38 »

А запущен ли в системе процесс ibserver.exe? И прописан ли путь к базе в компоненте IBDataBase?
Записан
alex-v
Настоящий гродненец
****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 320

Просмотр профиля
« Ответ #8 : 04 Март 2008, 15:16:44 »

AlexO, я пользуюсь Firebird. Соответсвенно запущен процесс fbserver.exe. А ibserver.exe не запущен.
В компоненте IBDataBase прописан путь: c:\BD\BD_FILE.GDB
Записан
alex-v
Настоящий гродненец
****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 320

Просмотр профиля
« Ответ #9 : 04 Март 2008, 15:20:01 »

maxposedon, попробовал создать таблицу вида "zz.qwe1" и после этого компонент TIBQuery стал выдавать уже другую ошибку: Token unknown - line1, column 17
Записан
AlexO
Гродненец
**

Репутация: +16/-1
Offline Offline

Пол: Мужской
Сообщений: 232


Я люблю Гродненский форум!

Просмотр профиля
« Ответ #10 : 04 Март 2008, 15:22:03 »

Да и вообще для создания таблиц БД под Interbase и Firebird есть отличная прога IBExpert. Кроме таблиц создает триггеры, генераторы, хранимые процедуры и прочее. Без нее, ИМХО, писать базу - извращение.
Записан
Paladin
FUCK GMmmm
Губернатор
*****

Репутация: +501/-51
Offline Offline

Пол: Мужской
Сообщений: 11862


Просмотр профиля
« Ответ #11 : 04 Март 2008, 15:29:45 »

а так?
Код:
select * from zz.qwe1 ;
« Последнее редактирование: 04 Март 2008, 15:30:17 от Paladin » Записан
AlexO
Гродненец
**

Репутация: +16/-1
Offline Offline

Пол: Мужской
Сообщений: 232


Я люблю Гродненский форум!

Просмотр профиля
« Ответ #12 : 04 Март 2008, 15:37:40 »

Меня осенило! Ха-Ха. Если в базе есть таблица, то компоненты IBTable и IBOuery только извлекают данные из этих таблиц и при помощи компонента DataSourse передают эти данные в компонент IBDataSet. А ты пишешь, что создал таблицу при помощи IBTable. Давненько не писал ничего на Delphi, но, если не подводит память в компоненте IBTable нужно указать имя таблицы и имя БД, затем Active поставить в true. Аналогичным образом работает IBQuery, разве что только выбирает данные при помощи SQL запроса. Не понятно как все-таки ты создал таблицу, если, действительно ее создал.
Записан
AlexO
Гродненец
**

Репутация: +16/-1
Offline Offline

Пол: Мужской
Сообщений: 232


Я люблю Гродненский форум!

Просмотр профиля
« Ответ #13 : 04 Март 2008, 15:41:53 »

Юзайте IBExpert или аналоги, батенька!
Записан
alex-v
Настоящий гродненец
****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 320

Просмотр профиля
« Ответ #14 : 04 Март 2008, 15:44:59 »

AlexO, таблица есть реально. Её даже видно в утилите ibconsole.exe.
А для IBQuery я прописал свойство Database, прописал SQL запрос. Но увы, IBQuery не видит ранее созданную таблицу, программа выдает ошибку.
Записан
alex-v
Настоящий гродненец
****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 320

Просмотр профиля
« Ответ #15 : 04 Март 2008, 15:48:02 »

AlexO, мне не нужен IBExpert . Мне нужно программными средствами создавать и открывать таблицы с помощью TIBTable м TIBQuery.
TIBTable - работает прекрасно. А вот TIBQuery - выдает ошибку. В чем дело?
Записан
alex-v
Настоящий гродненец
****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 320

Просмотр профиля
« Ответ #16 : 04 Март 2008, 15:50:21 »

Paladin, пробовал запрос "select * from zz.qwe1 ; "
Все равно выдает программа ошибку.
Записан
AlexO
Гродненец
**

Репутация: +16/-1
Offline Offline

Пол: Мужской
Сообщений: 232


Я люблю Гродненский форум!

Просмотр профиля
« Ответ #17 : 04 Март 2008, 16:05:43 »

Ну тогда еще одна мысль: установлено ли соединение компоненты IBQuery с БД? В принципе, если работает IBTable, то должен работать и IBQuery? А ставить ";" в SQL запросе - жесть!
Записан
alex-v
Настоящий гродненец
****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 320

Просмотр профиля
« Ответ #18 : 04 Март 2008, 16:17:50 »

AlexO, соединение с БД есть. В своействе Database прописано значение IBDatabase1.
Записан
AlexO
Гродненец
**

Репутация: +16/-1
Offline Offline

Пол: Мужской
Сообщений: 232


Я люблю Гродненский форум!

Просмотр профиля
« Ответ #19 : 04 Март 2008, 16:33:32 »

Да-а, хрен его знает, сколько работаю с базами, всегда все было просто. Скорее всего где-то сидит глупая ошибка. Сходи выпей пивка, вернешься, все получится!
Записан
alex-v
Настоящий гродненец
****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 320

Просмотр профиля
« Ответ #20 : 04 Март 2008, 16:47:10 »

AlexO, спасибо за совет.
Хорошо бы найти эту глупую ошибку...
Записан
Paladin
FUCK GMmmm
Губернатор
*****

Репутация: +501/-51
Offline Offline

Пол: Мужской
Сообщений: 11862


Просмотр профиля
« Ответ #21 : 04 Март 2008, 19:38:10 »

Цитировать
Ну тогда еще одна мысль: установлено ли соединение компоненты IBQuery с БД? В принципе, если работает IBTable, то должен работать и IBQuery? А ставить ";" в SQL запросе - жесть!
А не ставить после SQL запросов ; просто улет...  Особенно когда их у тебя два....  Смеющийся  Показывает язык
« Последнее редактирование: 04 Март 2008, 19:45:11 от Paladin » Записан
Dark Side
Почетный гродненец
*****

Репутация: +63/-8
Offline Offline

Предупреждения: у пользователя уже 2 предупреждения
Пол: Мужской
Сообщений: 1142


Способствую

S https://advicenyc.com https://advicenyc.com https://advicenyc.com https://advicenyc.com https://advicenyc.com Просмотр профиля WWW
« Ответ #22 : 05 Март 2008, 10:43:04 »

Касательно твоей проблемы - внимательно просмотри схему соединения через IBDATABASE, проверь все пути, должно работать. Почитай теорию, также могу код скинуть

А я с InterBAse завязал - не надёжны, сейчас юзаю (С++Builder) ADO-components+ MS ACCESS. Не надо на комп пользователя никаких драйверов и программ ставить, вплоть до Виндозы 98.
Записан

Воля или СмертЪ
Gloomy Fox
Гродненец
**

Репутация: +43/-0
Offline Offline

Пол: Мужской
Сообщений: 296


to live is to die

Просмотр профиля WWW
« Ответ #23 : 05 Март 2008, 11:38:15 »

Цитировать
Это значит что в базе нету таблицы qwe1, неужели не ясно?
Возможно потому, что надо схема.таблица. (И при создании тоже)
Цитировать
а так?
Код:
select * from zz.qwe1 ;
Ересь какая-то. Это ж вам не MySQL.

Цитировать
А я с InterBAse завязал - не надёжны, сейчас юзаю (С++Builder) ADO-components+ MS ACCESS. Не надо на комп пользователя никаких драйверов и программ ставить, вплоть до Виндозы 98.
Тоже ересь. Если человек считает, что ADO + MsAccess надежнее, чем версионный SQL-сервер, то значит туда ему и дорога.

Цитировать
AlexO, мне не нужен IBExpert . Мне нужно программными средствами создавать и открывать таблицы с помощью TIBTable м TIBQuery.
TIBTable - работает прекрасно. А вот TIBQuery - выдает ошибку. В чем дело?
Если тебе не нужен IBExpert, то полагаю, что нефиг вообще сунуться в программирование для БД IB/FB...
А TIBTable - компонент бредовый (как и вообще T...Table)... Если тебе надо создавать таблицы именно из своей программы, то используй TIBSQL или на крайняк TIBQuery. Там и пиши DDL запрос, типа "create table ...". А для выборки и редактирования данных используй TIBDataSet.
Что касается конкретно твоей проблемы, попробуй может так: select * from "qwe". Именно с кавычками в запросе. Если не поможет, тогда давай сюда свои исходники и DFM, будем смотреть.
А вообще чувствуется недостаточный уровень подготовки, так что изучай документацию: http://ibase.ru/develop.htm
Записан
alex-v
Настоящий гродненец
****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 320

Просмотр профиля
« Ответ #24 : 05 Март 2008, 14:13:13 »

GlFox, спасибо огромное!!! Вы мне очень помогли!

Действительно, надо было поставить кавычки: select * from "qwe".
Теперь заработало!!!!!!!

Спасибо!!!
Записан
alex-v
Настоящий гродненец
****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 320

Просмотр профиля
« Ответ #25 : 05 Март 2008, 14:31:38 »

UnknownSoldier, я сам недавно познакомился с ADO. Действительно классная штука, мне понравилась. Не нужно никаких оболочек и драйверов на комп, это да!
Зато, я думаю, что с ADO не напишешь сетевую СУБД (для локальныз сетей). Поэтому для сетевых программ мне нужен InterBase.
Записан
AlexO
Гродненец
**

Репутация: +16/-1
Offline Offline

Пол: Мужской
Сообщений: 232


Я люблю Гродненский форум!

Просмотр профиля
« Ответ #26 : 06 Март 2008, 10:49:53 »

Цитировать
Касательно твоей проблемы - внимательно просмотри схему соединения через IBDATABASE, проверь все пути, должно работать. Почитай теорию, также могу код скинуть

А я с InterBAse завязал - не надёжны, сейчас юзаю (С++Builder) ADO-components+ MS ACCESS. Не надо на комп пользователя никаких драйверов и программ ставить, вплоть до Виндозы 98.

Прикол! Знаешь, а данные базы можно хранить и в текстовых файлах! Тут и соединений никаких указывать не надо! Смеющийся
Променять IB/FB на Access!  Смеющийся Смеющийся Смеющийся
Записан
_SworD_
Почетный гродненец
*****

Репутация: +79/-2
Offline Offline

Пол: Мужской
Сообщений: 1603


Все делай с умом!

Просмотр профиля WWW
« Ответ #27 : 06 Март 2008, 13:32:40 »

Королевство Delphi http://www.delphikingdom.com/  много че найдешь.
« Последнее редактирование: 06 Март 2008, 13:33:21 от Gnom » Записан
Dark Side
Почетный гродненец
*****

Репутация: +63/-8
Offline Offline

Предупреждения: у пользователя уже 2 предупреждения
Пол: Мужской
Сообщений: 1142


Способствую

S https://advicenyc.com https://advicenyc.com https://advicenyc.com https://advicenyc.com https://advicenyc.com Просмотр профиля WWW
« Ответ #28 : 06 Март 2008, 21:00:50 »

Цитировать
UnknownSoldier, я сам недавно познакомился с ADO. Действительно классная штука, мне понравилась. Не нужно никаких оболочек и драйверов на комп, это да!
Зато, я думаю, что с ADO не напишешь сетевую СУБД (для локальныз сетей). Поэтому для сетевых программ мне нужен InterBase.

В том то и прикол, что сетевую СУБД напишешь, у меня есть книга Фаронова по базам данных - там объяснён механизм - и делается это значительно проще чем через IBX.
Касательно Interbase - написал две проги  и на них реально работают уже год люди, но они крайне не надёжны - неправильный запрос - и приходится резервную копию(заранее созданную мной) юзать, с Access таких проблем нет. А может я чёй-то не понимаю - хотя  вродь не дурак
« Последнее редактирование: 06 Март 2008, 21:04:26 от Jack_Dennis » Записан

Воля или СмертЪ
AlexO
Гродненец
**

Репутация: +16/-1
Offline Offline

Пол: Мужской
Сообщений: 232


Я люблю Гродненский форум!

Просмотр профиля
« Ответ #29 : 07 Март 2008, 10:26:20 »

Ну если базы данных разрабатывать по Фаронову, то тогда лучше, конечно, Access. Фаронов, вообще расхваливает BDE, даже для разработки под .NET! Смеющийся Только разработка клиент-сервера у Фаронова рассмотрена совсем скудно, почти ничего не сказано про транзакции, хранимые процедуры, если не изменяет память, вообще не рассматриваются. ИМХО, клиент-сервер, вообще не мыслим без хранимых процедур. Access - настольная база данных и не подходит в случаях, где присутствуют даже несколько параллельных пользователей, и в добавок ко всему Access не масштабируется.
Выше, пацаны, указывали нормальные онлайн ресурсы: ibase.ru и delphikingdom.com - там найдешь много интересной информации и отзывовов о книгах по соответствующим тематикам. От себя добавлю отличный сайт: rsdn.ru.
Записан
alex-v
Настоящий гродненец
****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 320

Просмотр профиля
« Ответ #30 : 07 Март 2008, 17:59:58 »

UnknownSoldier, и всех остальных приглашаю в новую тему: http://forum.grodno.net/YaBB.pl?num=1204901875/0
Записан
Dark Side
Почетный гродненец
*****

Репутация: +63/-8
Offline Offline

Предупреждения: у пользователя уже 2 предупреждения
Пол: Мужской
Сообщений: 1142


Способствую

S https://advicenyc.com https://advicenyc.com https://advicenyc.com https://advicenyc.com https://advicenyc.com Просмотр профиля WWW
« Ответ #31 : 08 Март 2008, 15:37:23 »

Цитировать
Ну если базы данных разрабатывать по Фаронову, то тогда лучше, конечно, Access. Фаронов, вообще расхваливает BDE, даже для разработки под .NET! Смеющийся Только разработка клиент-сервера у Фаронова рассмотрена совсем скудно, почти ничего не сказано про транзакции, хранимые процедуры, если не изменяет память, вообще не рассматриваются. ИМХО, клиент-сервер, вообще не мыслим без хранимых процедур. Access - настольная база данных и не подходит в случаях, где присутствуют даже несколько параллельных пользователей, и в добавок ко всему Access не масштабируется.
Выше, пацаны, указывали нормальные онлайн ресурсы: ibase.ru и delphikingdom.com - там найдешь много интересной информации и отзывовов о книгах по соответствующим тематикам. От себя добавлю отличный сайт: rsdn.ru.
Вообще-то Фаронов в нашем деле фигура авторитетная. Как раз-таки в книге которая у меня есть - большее внимание уделено клиент-серверным технологиям(Interbase) разработки баз данных примерно 200 страниц. За Аксес всего страниц 30-40.  BDE -  рассмотрено в общем виде.
Касательно Access - да мегазлобные огромные базы на ней не построишь, будет тормозтиь, но во многих случаях её использование оправдано.
Я не фанат какой-то орпеделённой БД, но как в Interbase, так и в Access есть свои недостатки и достоинства (Без фанатизма и святых войн - абы программы работали не глючили и писали вы их не для себя, а для людей!!!)
Записан

Воля или СмертЪ
Страниц  : 1 2 Далее» [Все]   Вверх
  Печать  
 
Перейти в:  

Войти
Войдите, чтобы добавить комментарий

Войдите через социальную сеть

Имя пользователя:
Пароль:
Продолжительность сессии (в минутах):
Запомнить:
Забыли пароль?

Контакт
Powered by MySQL Powered by PHP Мобильная версия
Powered by SMF 1.1.20
SMF © 2006-2024, Simple Machines
Simple Audio Video Embedder
| Sitemap
Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0,207 секунд. Запросов: 19.