Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.04;
Скачать: CL | DM;

Вниз

вставка и считывание картинки в бд 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
15-1206349090
Ega23
2008-03-24 11:58
2008.05.04
Возвращаясь к GUID-ам и уникальности


2-1207744927
Снежинка
2008-04-09 16:42
2008.05.04
Запрос не получается


2-1207649935
Семен Кевларвестов
2008-04-08 14:18
2008.05.04
Чем можно скрыть окно ToolTip?


3-1196336626
Kostafey
2007-11-29 14:43
2008.05.04
Где лучше хранить данные сумм MS SQL Server 2005


3-1196665593
Alice
2007-12-03 10:06
2008.05.04
распарсить в БД