Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сохранение файлов в BLOB поле [D7, MSSQL]


DimonNew ©   (2005-01-24 17:42:00) 

Привет! Подскажите пожалуста! Сохраняю файл в BLOB-поле:
TBLOBField(dmMain.cldsBlock.FieldByName('DocBlock')).LoadFromFile(OpenDialog.FileName);
И через UpdateSQL пытаюсь вставить в БД:
insert into AutoTour(IDCountry,IDTour,IDTextBlock,
TypeTextBlock, NameTextBlock,PathUser,DocBlock)
values (:IDCountry,:IDTour,:IDTextBlock,
:TypeTextBlock, :NameTextBlock,:PathUser,:DocBlock)

DocBlock - BLOB-поле.
В результате выводится ошибка:
Operand type clash:text is incompatible with image
Может в MS SQL Server хранение файлов не в image? Или я не правильно обновляю поле BLOB?


DimonNew   (2005-01-24 18:43:00) [1]

Я сделал вот так
adocBlock.Parameters.ParamByName('DocBlock').LoadFromFile(adocBlock.Parameters.ParamByName('PathUser').Value,ftVar Bytes);
И все заработало, спасибо за помощь Соловьев ©!


DimonNew   (2005-01-24 18:35:00) [2]

procedure TdmMain.dsprBlockBeforeUpdateRecord(Sender: TObject;
 SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
 UpdateKind: TUpdateKind; var Applied: Boolean);
begin
 usqlBlock.DataSet:=DeltaDS;
 usqlBlock.SetParams(UpdateKind);
 adocBlock.CommandText:=usqlBlock.SQL[UpdateKind].Text;
 adocBlock.Parameters.Assign(usqlBlock.Query[UpdateKind].Params);
 adocBlock.Execute;
 Applied := true;
end;


В этой процедуре возникает ошибка, в adocBlock.Execute


DimonNew   (2005-01-24 18:28:00) [3]

LoadFromFile - только один параметр имеет - иимя файла.


Соловьев   (2005-01-24 18:03:00) [4]

...
UpdateSQL.Parameters.ParamByName('DocBlock').LoadFromFile(OpenDialog.FileName, ftVarBytes);
...


Наверх

Титульная страница Поиск, карта сайта Написать письмо