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

Вниз

Blob и SQL   Найти похожие ветки 

 
konstr   (2006-11-07 11:09) [0]

Не могу прочитать Blob-поле через адо-кверю, ошибка invalid argument... как лечить подскажите плз?
try
QueryRTF.SQL.Text:="select REMARK from ALLDATA where INUM=16";
QueryRTF.Open;
BlobStream:=TADOBlobStream.Create(TBlobField(QueryRTF.FieldByName("REMARK")), bmRead);
BlobStream.Free;
except
end;


 
Плохиш ©   (2006-11-07 11:13) [1]

Уверен, что поле REMARK существует и было интерпретировано как blob?


 
sniknik ©   (2006-11-07 11:18) [2]

> ошибка invalid argument... как лечить подскажите плз?
легко! надо лиш вместо неправильного аргумента ... вставить правильный .... все, проблема решена!


 
Percent   (2006-11-07 11:20) [3]

ошибка invalid argument...

Ошибки, они бывают времени выполнения или компилятора/линковщика.
Эта когда проявляется?


 
konstr   (2006-11-07 11:29) [4]

Уверен, писал туда потому что :) вот таким образом :
QueryRTF.SQL.text:="insert into ALLDATA REMARK values (16,:b)";
QueryRTF.parameters.parseSQL(QueryRTF.sql.text, true);
Richedit1.Lines.SaveToFile("fxprtf.rtf");
QueryRTF.parameters[0].LoadFromFile("fxprtf.rtf",ftBlob);
QueryRTF.ExecSQL;

Ошибка возникает во время выполнения


 
Percent   (2006-11-07 11:32) [5]

Ошибка возникает во время выполнения

На какой строке?


 
Desdechado ©   (2006-11-07 11:39) [6]

QueryRTF.CreateBlobStream
?


 
Anatoly Podgoretsky ©   (2006-11-07 11:49) [7]

Потому что в таком виде тип поля Variant


 
Gloomer ©   (2006-11-07 12:59) [8]

А так ли принципиально, чтобы BlobStream был типа TBlobStream?
Как этот поток используется?
Может так?

var BlobStream:TStream;
...
try
QueryRTF.SQL.Text:="select REMARK from ALLDATA where INUM=16";
QueryRTF.Open;
BlobStream:=TStream.Create;
BlobStream:=QueryRTF.CreateBlobStream(QueryRTF.FieldByName("REMARK"), bmRead);
...
BlobStream.Free;
except
end;


 
Johnmen ©   (2006-11-07 13:11) [9]


> Gloomer ©   (07.11.06 12:59) [8]
> BlobStream:=TStream.Create;


Это зачем?


 
konstr   (2006-11-07 13:35) [10]

2 Anatoly Podgoretsky а поподробней плз? Вот это
TBlobField(QueryRTF.FieldByName("REMARK"))
не помогает разве?


 
Gloomer ©   (2006-11-07 13:38) [11]


> Johnmen ©   (07.11.06 13:11) [9]
> Create;Это зачем?

Согласен - оставил по инерции...
Но у konstr"а и так не работает - инвалид тайп каст


 
Anatoly Podgoretsky ©   (2006-11-07 14:28) [12]

> konstr  (07.11.2006 13:35:10)  [10]

TBlobField(QueryRTF.FieldByName("REMARK")): variant
Сомневаюсь, что его можно преоразовать в Stream


 
konstr   (2006-11-07 15:25) [13]

Видимо программа тоже очень сомневается в этом, так в чем вопрос и состоит что никак не могу победить... Хоть в какую сторону копать-то?


 
Плохиш ©   (2006-11-07 16:05) [14]


> Anatoly Podgoretsky ©   (07.11.06 14:28) [12]
> > konstr  (07.11.2006 13:35:10)  [10]
>
> TBlobField(QueryRTF.FieldByName("REMARK")): variant

FieldByName TField возвращает.


 
Anatoly Podgoretsky ©   (2006-11-07 16:49) [15]

> Плохиш  (07.11.2006 16:05:14)  [14]

У которого тип данных variant


 
Anatoly Podgoretsky ©   (2006-11-07 16:50) [16]

> Плохиш  (07.11.2006 16:05:14)  [14]

TField.Value: Variant

В остальные типы превращается через AS свойства


 
Плохиш ©   (2006-11-07 17:24) [17]


> Anatoly Podgoretsky ©   (07.11.06 16:50) [16]

Может я и слепой, но в ветке Value пока не упоминалось.


 
Anatoly Podgoretsky ©   (2006-11-07 19:32) [18]

> Плохиш  (07.11.2006 17:24:17)  [17]

Value это значение поля, без преобразования AS


 
Плохиш ©   (2006-11-08 00:42) [19]


> Anatoly Podgoretsky ©   (07.11.06 19:32) [18]
> > Плохиш  (07.11.2006 17:24:17)  [17]
>
> Value это значение поля, без преобразования AS

Я знаю, но какое это отношение имеет к теме ветки?
Я вот гарантирую, что строка streamBlob := TADOBlobStream.Create(TBlobField(tblMSSQL.Fields[lField]), bmRead); будет прекрасно работать даже если Fields[lField] заменить на FieldByName("superfield"), а у автора почему-то его творение не работает, а так как отладчиком он пользоваться не умеет, то и помочь ему не представляется возможным, всё равно, что разговаривать со слепым глухонемым.


 
Anatoly Podgoretsky ©   (2006-11-08 00:47) [20]

> Плохиш  (08.11.2006 0:42:19)  [19]

Та и я про тоже.
Дело не в бобине



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

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

Наверх




Память: 0.51 MB
Время: 0.045 c
15-1162999270
Sergg
2006-11-08 18:21
2006.11.26
Ввод символа в *.cmd


1-1160670375
Евгений Тарабановский
2006-10-12 20:26
2006.11.26
Как сгенерировать HardwareID?


2-1162796559
immmi
2006-11-06 10:02
2006.11.26
Очистить record


2-1162915841
Серый
2006-11-07 19:10
2006.11.26
Бегущая строка


2-1162921686
EkZot
2006-11-07 20:48
2006.11.26
Существует ли папка.