Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.04 c
1-1079675464
AleksandrKu
2004-03-19 08:51
2004.04.04
Как по нажатии клавиши изменить фокус ввода


3-1078910413
Pavel
2004-03-10 12:20
2004.04.04
Blob


14-1078512239
Undert
2004-03-05 21:43
2004.04.04
Windows 2003 Server and NS


8-1069974699
mw.Kronos
2003-11-28 02:11
2004.04.04
Собственные регулаторы громкости.


1-1079600030
Timego
2004-03-18 11:53
2004.04.04
Межпроцессное взаимодействие средствами COM+