Форум: "Базы";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
ВнизКартинки в БД Найти похожие ветки
← →
Алексей Петухов (2004-05-16 19:38) [0]Здравствуйте, уважаемые мастера.
Вот помощь нужна опять.
Пытаюсь сохранить картинку ы поле типа "Image" в БД MSSQL2000(qr.FieldByName("picture") as TBlobField).LoadFromFile(OpenDialog1.FileName);
Получаю ошубку "Invalid BLOB handle in record buffer".
Подскажите, как правильно картинки в БД сохранить.
Заранее благодарю за помощ.
← →
Алексей Петухов (2004-05-17 06:03) [1]Ребяты, поможите, кто чем может %-)
← →
Silver Alex © (2004-05-17 10:03) [2]а зачем ты приводишь поле к типу TBlobField, оно у тебя что ли другого типа?И вообще код лучше бы глянуть, какие компонеты используешь.Я например иногда сохраняю так
if OpenDialog.Execute then
with qUpd do
begin
ParamByName("bmp").LoadFromFile(OpenDialog.FileName,ftGraphic);
ParamByName("name").AsString:=Query1.FieldByname("name").AsString;
ExecSQL;
end;
ну и SQL- запрос такой
update animals
set bmp=:bmp
where
name=:name
все работает, ну а читать там уже просто
← →
NAlexey © (2004-05-17 11:00) [3]Примерно так читать:
const
sSQL = "SELECT * FROM IDs WHERE ID = %d;
var
BlobStream: TADOBlobStream;
StreamSize: Integer;
FStream: TFileStream;
begin
with TADOQuery.Create(nil) do
try
Connection := MyConnection;
SQL.Text := Format(sSQL, [MyID]);
Active := True;
BlobStream := TADOBlobStream.Create(TBlobField(Fields[1]), bmRead);
try
StreamSize := BlobStream.Size - BlobStream.Position;
FStream := TFileStream.Create("C:\ImHere", fmCreate);
try
FStream.CopyFrom(BlobStream, StreamSize);
finally
FStream.Free;
end;
finally
BlobStream.Free;
end;
finally
Free;
end;
end;
Примерно так писать:
procedure Foo(MyID: Integer; FileStream: TStream);
const
sSQL = "INSERT INTO IDs VALUES (:ID, :Value)";
begin
try
with TADOQuery.Create(nil) do
try
Connection := MyConnection;
SQL.Text := "INSERT INTO IDs VALUES (:ID, :Value)";
Parameters.Items[0].Value := MyID;
Parameters.Items[1].LoadFromStream(FileStream, ftBlob);
ExecSQL;
finally
Free;
end;
except
raise;
end;
end;
Поле в таблице тип - Image...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.058 c