Форум: "Начинающим";
Текущий архив: 2008.05.04;
Скачать: [xml.tar.bz2];
Внизвставка и считывание картинки в бд ms sql Найти похожие ветки
← →
arinyshka (2008-04-08 18:32) [0]Не сочтите за оскорбление, вопрос мой прост.
Нужно размещать в БД картинки и считывать их оттуда. Имеем MS SQL 2005, Delphi (ADO), bmp- картинки...
Хранимая выглядит так:
ALTER PROCEDURE [dbo].[ImP_add_Image]
@Image_PurposePay image
AS
begin transaction
insert into ImageForPurposePay
(Image_PurposePay)
values
(@Image_PurposePay)
if (@@error != 0) begin
select "Ok", -1
rollback transaction
return
end
commit transaction
В таблице ImageForPurposePay поле Image_PurposePay типа Image, естественно...
Delphi:
procedure TForm1.FormCreate(Sender: TObject);
var MyStream: TMemoryStream;
begin
MyStream := TMemoryStream.Create;
image1.Picture.bitmap.SaveToStream(MyStream);
qrUni.SQL.Append("ImP_add_Image :Image_PurposePay");
MyStream.Position := 0;
qrUni.Parameters.ParamByName("Image_PurposePay").LoadFromStream(MyStream,ftGraph ic);
qrUni.open;
end;
qrUni - TAdoQuery
Компилируется. На выполнении уходит с ошибкой
Project xxxx raised exception class EOleExeption with message "Неправильно определен объект parametr. Представлены несовместимые или неполные сведения".
Только не заводите (пожалуйста!) дискуссию о рациональности хранения картинок в базе... я их уже начиталась Улыбаюсь Мне бы понять, в чем ошибка...
← →
Ega23 © (2008-04-08 18:36) [1]Сильно подозреваю, что в этом.
qrUni.SQL.Append("ImP_add_Image :Image_PurposePay");
1. Нафига Append?
2. Зачем такой "вольный" вызов хп?
← →
arinyshka (2008-04-08 18:39) [2]эээ... по-другому не умею :) как ее можно вызвать еще?
← →
arinyshka (2008-04-08 18:47) [3]qrUni.SQL.Add("ImP_add_Image :Image_PurposePay"); ничего не изменило
← →
Плохиш © (2008-04-08 18:56) [4]
> arinyshka (08.04.08 18:47) [3]
попробуй в конце концов справку почитать.
PS. Text
← →
Ega23 © (2008-04-08 20:22) [5]
> arinyshka (08.04.08 18:47) [3]
>
> qrUni.SQL.Add("ImP_add_Image :Image_PurposePay"); ничего
> не изменило
Положи на форму Memo, и перед qrUni.open; вставь строчкуMemo1.lines.Assign(qrUni.SQL);
Удивись.
← →
arinyshka (2008-04-09 11:39) [6]Пасиб... разобралась :) Заработало :)
← →
Rat (2008-04-09 12:38) [7]
> Плохиш © (08.04.08 18:56) [4]
Очень информативные посты. Не почитать-ли тебе самому что-нибудь?
← →
Ega23 © (2008-04-09 13:27) [8]
> Очень информативные посты. Не почитать-ли тебе самому что-
> нибудь?
Между прочим, ты напрасно на Плохиша волну гонишь. Он дал правильный ответ.var MyStream: TMemoryStream;
begin
MyStream := TMemoryStream.Create;
image1.Picture.bitmap.SaveToStream(MyStream);
qrUni.SQL.Text := "ImP_add_Image :Image_PurposePay";
MyStream.Position := 0;
qrUni.Parameters.ParamByName("Image_PurposePay").LoadFromStream(MyStream,ftGraph ic);
qrUni.open;
end;
И у меня очень сильное подозрение, что "почитал" он на порядок больше тебя.
← →
Ega23 © (2008-04-09 13:28) [9]
> Пасиб... разобралась :) Заработало :)
Мягкого гранита! :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.05.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c