Вниз
Скачать: CL | DM;

BLOB-поле   Найти похожие ветки 

← →
kalliopiy ©   (2004-03-05 13:30) [0]

Здравствуйте!
Возникли проблемы при попытке добавления записи в таблицу с BLOB-полем. Я пытаюсь сделать это через TIBSQL приблизительно через следующий код

with TStringList.Create do
begin
 LoadFromFile(docForm.filePathEd.Text);
 s:=QuotedStr(Text);
 Free;
end;
Q:=TIBSQL.Create(nil);
Q.Database:=lawdocsDB;
Q.Transaction:=lawdocsTA;
Q.Transaction.StartTransaction;
Q.SQL.Add("INSERT INTO "docs" VALUES");
Q.SQL.Add("(NULL,"+inttostr(nodeData.recID)+","+""""+docForm.docCaptionEd.Text+""","+
s+","+""""+datetostr(docForm.docDateEd.Date)+""")");
Q.ExecQuery


Но при выполнении запроса возникает ошибка SQL code = -104. Unexpected end of command.

У меня складывается такое впечатление, что это происходит из-за того, что считываемый и сохраняемый в поле БД файл слишком велик. Но сохранять-то его как-то надо! А как?


← →
Johnmen ©   (2004-03-05 13:36) [1]

Впечатление тебя обманывает...
Такие вставки делаются через параметры запроса.
И причем здесь BLOB ? С блобами работают совсем не так...


← →
kalliopiy ©   (2004-03-05 13:50) [2]

А как лучше? Подскажите, пожалуйста.


← →
Соловьев ©   (2004-03-05 13:55) [3]

F1 - TBlobField.LoadFromStream


← →
Tlank   (2004-03-05 17:31) [4]

Через хранимую процедуру можно передать параметр:

Fstr:=TFileStream.Create(OpenDialog.FileName,fmOpenRead);
with StoredProc.Parameters.AddParameter do begin  
 Direction:=pdInput;
 StoredPRoc.Parameters[13].LoadFromStream(Fstr,ftBlob);
end;
Fstr.Free;


А получить содержимое так:

if SaveDialog.Execute then
   TBlobField(fmMainQuery.FieldByName("FileAtach")).SaveToFile(SaveDialog.FileName);


← →
Soft ©   (2004-03-06 05:29) [5]

Вот простой пример

Query.SQL.Clear;
Query.SQL.Add("insert into ***");
Query.ParamByName("поле").LoadFromFile("имя файла",ftBlob);
Query.ExecSQL;



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
9-1063362059
Тима
2003-09-12 14:20
2004.04.04
Помогите плиз!


1-1079543066
Chcnger
2004-03-17 20:04
2004.04.04
Факториал


3-1078467856
Russko
2004-03-05 09:24
2004.04.04
CheckBox в DBGrid


1-1079592342
Андрей из Иркустка
2004-03-18 09:45
2004.04.04
Двумерный открытый массив в качестве параметра в TP 7.0


1-1079632381
Алексейй
2004-03-18 20:53
2004.04.04
Как определить ctrl?




   Наверх