Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.10;
Скачать: CL | DM;

Вниз

Господа, помогите с freeIBComponent разобраться. Крыша едет :((   Найти похожие ветки 

 
Boroda Oleg   (2004-01-16 21:03) [0]

Или подскажите, где про них что-нибудь почитать можно, желательно на русском языке.

Ситуация такая: Есть DataModule. На нем лежит IBDatabase, IBTransaction, DataSource, IBQuery, IBUpdateSQL - все компоненты расчитаны на открыитие таблицы Account и ее обновление после закрытия. Это у меня получилось, хотя пока не пробовал вставлять и удалять строки.
Приделываю к этому еще одну IBQuery (к IBDatabase) и пытаюсь через него получить запрос на ту же таблицу с простейшим запросом (select * from ACCOUNT) - получаю абы что. Вешаю туда же простое Query и получаю запрос через BDE - все Ок.
Явно что-то не так работает. Но что?


 
jack128 ©   (2004-01-16 21:18) [1]


> Явно что-то не так работает. Но что?
Что именно? Сообщение об ошибке?
Транзакция у нового IbQuery назначена?

И вообще о каких компонентах идет речь?
O FreeIBComponents, как написано в теме? Но это же старье и сейчас почти не использется? Или FIBPlus? Или (если судить по названию компонентов в самом вопросе) IBX?


 
Boroda Oleg   (2004-01-16 21:56) [2]

Видимо все же IBX, точнее те, что входят в состав Delphi 7.
Транзаккцию я прописывал ту же, что и для предыдущего Query.
Вообще, пробывал все, что только возможно - результата не получил.


 
jack128 ©   (2004-01-16 22:02) [3]


> Видимо все же IBX, точнее те, что входят в состав Delphi
> 7.
Угу - это IBX.
Код в студию, а так же текст сообщения об ошибке


 
Boroda Oleg   (2004-01-17 10:30) [4]

Дык ошибки нету :(( Просто SQL неправильно отрабатывает.
Насчет кода - там всего-то один запрос интерес представляет
select * from ACCOUNT
открываю его обычным:
DM.GridQuery.SQL.Clear; (DM - datamodule, GridQuery - TIBQuery)
Еще интерес представлять может DataModule - вырезаю все что не должно понадобиться:

object DM: TDM
OldCreateOrder = False
object DataSource: TDataSource
DataSet = IBQuery
end
object IBDatabase: TIBDatabase
Connected = True
DatabaseName = "C:\Borland\PROJECT\DOG\SQL_TABLE\DOG.GDB"
Params.Strings = ("user_name=sysdba" "password=masterkey")
LoginPrompt = False
DefaultTransaction = IBTransaction
IdleTimer = 0
SQLDialect = 1
TraceFlags = []
end
object IBTransaction: TIBTransaction
Active = True
DefaultDatabase = IBDatabase
DefaultAction = TACommitRetaining
Params.Strings = ("read_committed" "rec_version" "nowait")
AutoStopAction = saNone
end
object IBQuery: TIBQuery
Database = IBDatabase
Transaction = IBTransaction
BeforeOpen = IBQueryBeforeOpen
BufferChunks = 1000
CachedUpdates = False
SQL.Strings = ("SELECT * FROM ACCOUNT" "WHERE ID_ACCOUNT = :ID_ACCOUNT")
ParamData = <
item
DataType = ftUnknown
Name = "ID_ACCOUNT"
ParamType = ptUnknown
end>
end
object IBUpdateSQL: TIBUpdateSQL
ModifySQL.Strings = ("update ACCOUNT" "set ....")
InsertSQL.Strings = ( "insert into PROJECT ....")
end
object GridQuery: TIBQuery // Вот этот запрос и не работает
Database = IBDatabase
AutoCalcFields = False
BufferChunks = 1000
CachedUpdates = True
ParamCheck = False
SQL.Strings = ("Select * from ACCOUNT")
end
object GridQuery2: TQuery // Этот запрос посредством BDE прекрасно отрабатывается
DatabaseName = "DOG"
SQL.Strings = ("Select * from ACCOUNT")
end
end


 
jack128 ©   (2004-01-17 10:40) [5]


> открываю его обычным:
> DM.GridQuery.SQL.Clear; (DM - datamodule, GridQuery - TIBQuery)
Да? И с каких это пор IBQuery.SQL.Clear стал открывать запрос?


 
Boroda Oleg   (2004-01-17 11:02) [6]

Пардон, не ту строчку скопировал.

Читать следует:
DM.GridQuery.Open;

То что было - очищает SQL :))


 
Boroda Oleg   (2004-01-17 14:55) [7]

Ну вот, пока ждал ответа - додумался сам.

Оказывается, после вызова запроса коммандой:
DM.GridQuery.Open;
нужно (почему-то?) вызвать:
DM.GridQuery.FetchAll;

Почему - не знаю, при использовании BDE этого делать было не нужно. Может кто обьяснит?



Страницы: 1 вся ветка

Текущий архив: 2004.02.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
1-29470
Zilog
2004-01-30 13:18
2004.02.10
Как обработать событие, которого нет в Инспекторе Объектов?


14-29577
TUser
2004-01-20 11:15
2004.02.10
Что за фигня


14-29584
SnapIn
2004-01-17 18:57
2004.02.10
Delphi8 - машина заказчика


14-29585
Denis_Ac
2004-01-20 07:48
2004.02.10
Даешь Революцию!!!!


1-29353
Леприкон
2004-01-29 12:43
2004.02.10
Работа с формой из dll