Текущий архив: 2004.08.29;
Скачать: CL | DM;
Вниз
Проблема с записью в BLOB-поле Найти похожие ветки
← →
Zabludshiy (2004-08-05 17:19) [0]Доброго всем времени. Oracle8i, Delphi-6. К базе подключаюсь с помощю ODAC.
Пытаюсь записать RichEdit в CLOB следующим образом:
procedure TNewDocVizard.Button11Click(Sender: TObject);
var FullDocText:string;
BlobStream:tStream;
begin
SmartQuery1.Active:=False;
SmartQuery1.ParamByName("Cond").AsInteger:=465;
SmartQuery1.Open;
if SmartQuery1.State = dsBrowse then
SmartQuery1.Edit;
BlobStream:=SmartQuery1.CreateBlobStream(SmartQuery1.FieldByName("doc_text"),bmWrite);
Try
BlobStream.Seek(0, soFromEnd);
BlobStream.Write(pChar(RichEdit1.Text)^,length(RichEdit1.Text));
// BlobStream.WriteBuffer();
SmartQuery1.Post;
DMod1.OracleSession1.Commit;
Finally
BlobStream.Free;
SmartQuery1.Close;
end;
end;
В результате в "doc_text" ничего не записывается (CLOB пустой), ошибок не выдаёт. 2-й день не могу понять где допустил ошибку?
Заранее спасибо за помощ.
← →
Zabludshiy (2004-08-05 17:22) [1]В SmartQuery.sql такой запрос:
Select DIC.DOC_TEXT, DIC.RowId
from DIC
where COND = :Cond
← →
Johnmen © (2004-08-05 17:49) [2]>BlobStream.Write(pChar(RichEdit1.Text)^,length(RichEdit1.Text));
Видимо, либоs:=RichEdit1.Text;
BlobStream.Write(pChar(s)^,length(s));
либоBlobStream.Write(RichEdit1.Text[1],length(RichEdit1.Text));
← →
Zabludshiy (2004-08-05 18:12) [3]
> Johnmen © (05.08.04 17:49) [2]
Спасибо, но не помогло.
Что интересно, в новом (чистом) проекте на тестовой базе аналогичный код работает. Да и взят он из реально рабочего примера, одного из тех что шёл с ODAC.
Рабочий код, на нажатие кнопки:
begin
if SmartQuery1.State = dsBrowse then
SmartQuery1.Edit;
BlobStream:=SmartQuery1.CreateBlobStream(SmartQuery1.FieldByName("tclob"),bmReadWrite);
try
BlobStream.Seek(0, soFromEnd);
BlobStream.Write(PChar(memo1.Text)^,length(memo1.Text));
SmartQuery1.Post;
finally
BlobStream.Free;
end;
end;
А то что я модифицировал - никак не хочет работать.
← →
Johnmen © (2004-08-05 18:19) [4]А-а.. Понятно
глянь TBlobStreamMode+F1
← →
Zabludshiy (2004-08-05 19:17) [5]Да, действительно.
Спасибо.
Страницы: 1 вся ветка
Текущий архив: 2004.08.29;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.028 c