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

Вниз

FireBird - dbExpress: ошибка при вызове RefreshRecord, FetchBlobs   Найти похожие ветки 

 
Прогер   (2004-06-22 14:22) [0]

При вызове этих методов датасет генерирует внутри запрос, где она получает эту запись.
Примерно так:
Если у меня есть таблица с записями картинок (картинки - блобы).
select * from MyTable
То когда я вызываю FetchBlobs (также при RefreshRecord, UpdateRecord), то она генерирует след. запрос:
select id, name, pic from MyTable where id=? and name=?
Тут все понятно, имя таблицы она видимо вытаскивает из тескта запроса и задает параметры.
Но есть у меня процедура, которая по параметру выдает только часть данных из таблицы - MyProc(:prm)
select * from MyProc(:prm)
Когда тут я вызываю те методы, то она почему-то теряет параметр процедуры и получается:
select id, name, pic from MyProc(NULL) where id=? and name=?
Конечно так она ту запись не найдет и выходит ошибка.
Нельзя как-то указать ему (TSQLClientDataSet) что данные берутся из процедуры и она должна брать еще его параметр?


 
Johnmen ©   (2004-06-22 14:32) [1]

>датасет генерирует внутри запрос

Так пропиши сам, руками...:)


 
Соловьев ©   (2004-06-22 14:33) [2]

Пиши ручками CommandText
А вообще лучше использовать нормальные компоненты под ФБ - IBX, FIBPlus


 
Прогер   (2004-06-23 06:26) [3]

я бы ручками сам прописал, но это же стандартный юнит
provider.pas, там процедура
TSQLResolver.GenSelectSQL
ее менять мне кажется нецлесобразно.
просто выборка данных идет из процедуры и проблема из-за этого,
я думал может кто сталкивался.
остальные я думаю тоже используют такую же технологию при повторном обращении к записи.



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

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

Наверх




Память: 0.47 MB
Время: 0.027 c
3-1087732998
a125
2004-06-20 16:03
2004.07.18
как восстановить файл PARADOX


3-1087997184
som
2004-06-23 17:26
2004.07.18
Поиск по DataSet


1-1088799088
Алексей
2004-07-03 00:11
2004.07.18
Как правильно определить индекс в RichEdit?


1-1089019836
АлексейК
2004-07-05 13:30
2004.07.18
FreeAndNil никого не убивает, иногда, но постоянно


1-1088697262
killer
2004-07-01 19:54
2004.07.18
Transparent в Notebook