Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2009, 18:31   #1
Art_
 
Регистрация: 21.02.2009
Сообщений: 9
По умолчанию Ошибка в IBQuery.SQL

При попытке вытащить из таблицы базы данных Interbase только одно поле названия фирм, не включая идендификатор, я использовал IBQuery и запрос SQL

select Naz from Firmy

Но не тут было, появляется ошибка:

Dynamic SQL Error
SQL error code = -204
Table unknown
FIRMY
At line 1, column 15.

Хотя сама таблица IBTable выводится нормально, но в ней естественно включаются и идентификатор, и название (ID и Naz).
Art_ вне форума Ответить с цитированием
Старый 06.05.2009, 10:36   #2
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

Цитата:
Хотя сама таблица IBTable выводится нормально, но в ней естественно включаются и идентификатор, и название (ID и Naz)
а каким образом она выводится?
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Старый 06.05.2009, 17:01   #3
Art_
 
Регистрация: 21.02.2009
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Dark_Spirit Посмотреть сообщение
а каким образом она выводится?
выводится в DBGrid1 (TDBGrid)

это все устанавливается к инспекторе или позже в коде на FormCreate:

DBGrid1.DataSource := DataSource1;

DataSource1.Dataset := Firmy // Firmy: TIBTable;
Firmy.Database := IBDatabase1;
Firmy.Transaction := IBTransaction1;
IBDatabase1.DatabaseName := 'E:\...\1.ib'; // (тут полный путь к файлу базы 1.ib)
IBDatabase1.DefaultTransaction := IBTransaction1;
IBDatabase1.LoginPromt := False;
IBTransaction1.DefaultDatabase := IBDatabase1;

Firmy.Active := True;

почти также IBQuery1, в IBQuery1.SQL пишу запрос, и вот - ошибка на стадии отладки...

не знаю почему, странно...

Последний раз редактировалось Art_; 06.05.2009 в 17:35.
Art_ вне форума Ответить с цитированием
Старый 06.05.2009, 17:41   #4
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

а такой запрос: select Firmy.Naz from Firmy
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Старый 06.05.2009, 21:06   #5
Art_
 
Регистрация: 21.02.2009
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Dark_Spirit Посмотреть сообщение
а такой запрос: select Firmy.Naz from Firmy
нет, ничего не меняется(((

а вообще запросы нельзя как-нибудь по-другому написать, в принципе я ведь делаю правильно, или нет?

без IBQuery не обойтись?
Art_ вне форума Ответить с цитированием
Старый 07.05.2009, 09:35   #6
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

Цитата:
а вообще запросы нельзя как-нибудь по-другому написать, в принципе я ведь делаю правильно, или нет?
нет, есть специальный разработанный стандарт SQL, вот только разные разработчики СУБД вносят свои изменения в синтаксис, а сам набор команд остаётся.
давай попробуем с начала
1. на форму закидываем IBQuery, datasourse, и, например, DBGrid. Соеденяешь их.
2. кинь каку нибудь кнопку и на её обработчике напиши:
Код:
ibquery.sql.add('select naz from firmy');
ibquery.open;
если всё верно сделаешь у тебя в дбгриде должны отобразиться названия.
И ещё совет: перед тем как в программу вносить какой-то SQL-скрипт, его нужно протесить в каком-то SQL Explorer-e.
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Старый 07.05.2009, 11:55   #7
Art_
 
Регистрация: 21.02.2009
Сообщений: 9
По умолчанию

да, я все так и сделал, выходит та же ошибка

думаю, что SQL вообще не работает, диалект установил 3, уже крутил все, что можно...

вообще эта путаница с массой компонентов, database, transaction, table, query, datasource, grid... не понятно, чем думали, когда создавали, одни неудобства

подключиться к базе - целая история

можно было проще сделать, например одним копонентом, авторам большой минус

но что делать не знаю, решил не использовать query совсем, установил на форму stringgrid, буду на нем самостоятельно кодом выбирать из базы нужное
Art_ вне форума Ответить с цитированием
Старый 12.05.2009, 00:44   #8
koma_grusha
Редкий обитатель
Форумчанин
 
Аватар для koma_grusha
 
Регистрация: 08.04.2009
Сообщений: 170
По умолчанию

проверь совпадает ли соединение с базой (Connection) у TIBTable и твоего запроса, складывается ощущение, что у запроса он либо не задан, либо не таков, вот он и не видит твою таблицу и сам текст запроса здесь ни причем

и не стоит так критично относится к запросам, на самом деле это очень хорошая вещь, по крайней мере удобнее стрингрида, просто это вопрос времени и опыта, так что не расстрайвайся, и юзай, юзай, юзай
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)

Последний раз редактировалось koma_grusha; 12.05.2009 в 00:47.
koma_grusha вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IBQuery как узнать кол-во записей? Yuran БД в Delphi 5 03.09.2010 23:11
Filter в IBQuery Yurk@ БД в Delphi 3 23.01.2009 23:26
ошибка в SQL Cantana SQL, базы данных 2 11.09.2007 12:03
Ошибка в SQL запросе...!? KeyDok БД в Delphi 5 21.06.2007 09:19