Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по работе с Blob   Найти похожие ветки 

 
wik   (2004-03-11 10:10) [0]

У меня проблема. Никак не могу закачать на MSSQL картинку, когда использую ClientDataset (Midas)
Код на Delphi следующий :

.....
 strm : TStream;
 param : TParam;
begin
 with DM.spExecute do begin   //spExecute :TClientDataSet
   CommandText:="sp_photos";
   Params.Clear;
   param:=Params.CreateParam(ftBlob, "@image", ptInput);
   param.Size:=MaxInt;

   strm:=TMemoryStream.Create;
   Image.Picture.Bitmap.SaveToStream(strm);
   Params.ParamByName("@image").LoadFromStream(strm,ftBlob);

   Execute;
   strm.Free;
....

На сервере :

CREATE TABLE [dbo].[tbEmployeePhotos] (
[Id] [int] IDENTITY (1, 1) NOT NULL ,
[Photo] [image] NULL
)

CREATE PROCEDURE sp_photos
 @image image
as
 insert into tbEmployeePhotos(photo) values(@image)

.....

При выполнении хр. процедуры Delphi выдает ошибку "Operand Type clash : text is incompatible with image"

Может, кто-нибудь знает, почему это происходит, потому что по логике вещей код правильный.


 
Asdor ©   (2004-03-11 11:34) [1]

А вот и не правильный. :)
with DM.spExecute do begin   //spExecute :TClientDataSet
  CommandText:="exec sp_photos :image";
  Params[0].ParamType:=ptInput;

  strm:=TMemoryStream.Create;
  Image.Picture.Bitmap.SaveToStream(strm);
  Params[0].LoadFromStream(strm,ftBlob);

  Execute;
  strm.Free;


 
wik   (2004-03-11 11:50) [2]

Не знаю, всегда так делал и все в порядке было.
Вот как раз при такой записи генерится ошибка "Could not find stored procedure exec sp_photos :image"


 
Asdor ©   (2004-03-11 12:12) [3]

А у тебя spExecute с чем на сервере связан?
если с TStoredProc, то я неправ иу тебя было все правильно...
я думал там TQuery.

По поводу параметров - а какой тип поля определит BDE если ты обратишься к твоей таблице?

Попробуй вместо [Photo] [image] NULL [Photo] [Text] NULL.

У BDE много "особенностей".


 
wik   (2004-03-11 12:26) [4]

Да пробовал и так, и так. Но я использую ADO, а не BDE.
Кстати, если напрямую вызывать хранимую процедуру TStoredProc без ClientDataset, все проходит с песнЯми. Получается, что это глюк TStoredProc.
Может так и сделать, но тогда не знаю, как саму картинку передать серверу (без файла)


 
Asdor ©   (2004-03-11 12:41) [5]


> Да пробовал и так, и так. Но я использую ADO, а не BDE.
>
> Кстати, если напрямую вызывать хранимую процедуру TStoredProc
> без ClientDataset, все проходит с песнЯми. Получается, что
> это глюк TStoredProc.

Наверное проблемы при совмещении ADO с Midas; Там как-то весело параметры присваиваются...


> Может так и сделать, но тогда не знаю, как саму картинку
> передать серверу (без файла)

Например так:
Делаешь на сервере метод SavePicture(Value:Variant)
На клиенте вызываешь Server.SavePicture(PictureField.AsVariant);


 
wik   (2004-03-11 14:56) [6]

Вот как раз и проблема, что картинка как Variant не передается.
Но все равно спасибо



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.041 c
14-1082526692
VID
2004-04-21 09:51
2004.04.11
Как перевести FAT32 в NTFS


11-1061655723
dictator
2003-08-23 20:22
2004.04.11
В KOL приложении новые объекты не воспринимаются и сложно поменят


4-1076026444
evvcom
2004-02-06 03:14
2004.04.11
WriteProcessMemory


3-1081516661
Xim
2004-04-09 17:17
2004.04.11
Обновления


3-1081849765
Dina
2004-04-13 13:49
2004.04.11
переименовать имя солбца





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский