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

Вниз

Ошибка   Найти похожие ветки 

 
stur ©   (2002-10-09 16:40) [0]

Уважаемые Мастера подскажите.
DBGrid подключен к базе через Query. Для преобразования типа поля используется следующий код. Проблема в следующем при просмотре базы данных назад через вполне определённое число строк вылетает ошибка "Invalid BLOB handle in record buffer" виной всему строка Query1.FieldByName ("EmpChar1_05").AsString);. Почему то теряется взаимосвязь. Как от этого избавиться?

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Column.Field.FieldName="EMPCHAR1_05" then
begin
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.Canvas.TextOut Rect.Left+1,Rect.Top+2, Query1.FieldByName ("EmpChar1_05").AsString);
end;
end;


 
stur ©   (2002-10-09 16:46) [1]

Если же подключаться к базе через TTable, то этой проблемы нет. Так подключаться не совсем корректно...


 
Johnny Smith ©   (2002-10-09 16:48) [2]

Какой тип у поля "EMPCHAR1_05"?


 
stur ©   (2002-10-09 16:49) [3]

VARCHAR(256)


 
Johnny Smith ©   (2002-10-09 17:30) [4]

Тут уже говорилось о том, что BDE принимает VarChar"овские типы длиной более 255 байт как BLOB. Соответственно, как мне кажется, он и пытается читать его как BLOB, то есть передавая для него ссылку на некий буфер, а не на переменную строкового типа. Отсюда и причина падения.
Мой совет - уйти с BDE на другую библиотеку доступа к данным.


 
stur ©   (2002-10-09 17:40) [5]

Возможно, но....
Почему всё работает при просмотре базы вперёд?
И всё нормально работает если использовать не TQuery( select * from EMP), а TTable ?


 
Johnny Smith ©   (2002-10-09 17:56) [6]

2stur © (09.10.02 17:40)
Честно сказать? Фиг его знает. Надо смотреть исходники BDE :^)))


 
petr_v_a ©   (2002-10-09 18:58) [7]

В настройках алиаса надо увеличить параметр BLOBS_TO_CACHE



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
3-101138
sdram
2002-10-10 11:56
2002.10.31
Можно ли в одном запросе почистить несвязанные записи


1-101192
YriyR
2002-10-21 13:56
2002.10.31
Ещё раз бегущая строка


3-101130
uat
2002-10-10 13:56
2002.10.31
Как открыть БД FoxPro в Delphi ? (спрашивает пароль)


1-101274
Gari
2002-10-22 14:27
2002.10.31
Работа с ActiveX


1-101222
Weare
2002-10-21 18:42
2002.10.31
Как узнать текущую директорию