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

Вниз

Проблемы с загрузкой данных из потока   Найти похожие ветки 

 
iamkate ©   (2005-10-14 08:45) [0]

Я считываю картинку из Image в поток. Значение потока присваиваю строке buff. Значение строки
загружаю в LobLocator, связанный с blob-полем моей таблицы. И на этом моменте программа
зависает. А если в LobLocator загружать данные просто из файла, то все нормально.
Но мне нужно именно из потока.
Подскажите, как это сделать. Если можно - поподробнее.
Спасибо.

With OracleQuery do
 begin
    fs:= TMemoryStream.Create;  //Создаю поток
    image.Picture.Bitmap.SaveToStream(fs); //Считываю значение Image в поток
    fs.Seek(0, soFromBeginning);//Смещаюсь к началу потока
    SetLength(buff, fs.Size);//Устанавливаю длину строки buff равной длине потока
    fs.Write(buff[1], fs.Size);//Записываю в строку buff всю длину потока
    fs.Free;//Очищаю поток
    DeleteVariables;
    DeclareVariable("ID", otInteger);
    DeclareVariable("Photo", otBLOB);
    SQL.Clear;
    SQL.Add("BEGIN UPDATE_PHOTO(:ID, :Photo);END;");
    lobTmp := TLOBLocator.Create(qryBlob.Session, otblob);//Создаю LobLocator для работы с blob-ом
    SetVariable("ID", FKeyFieldValue);
    try
      SetComplexVariable("Photo", lobTmp);
      try
         Execute;
         lobTmp.AsString := Buff;//Загружаю в LobLocator значение строки buff
        // lobtmp.LoadFromFile("PhotoFile.bmp");
      except
          on E:Exception do
          MessageDlg(E.Message, mtError, [mbYes], 0);
       end;
    finally
      lobTmp.Free;
    end;
    OracleSession.Commit;
 end;


 
Johnmen ©   (2005-10-14 09:12) [1]

Тебе не надоело задавать одни и те же вопросы каждый день?
Ответов не понимаешь?

http://delphimaster.net/view/3-1129200122/
http://delphimaster.net/view/3-1129200122/


 
iamkate ©   (2005-10-14 09:42) [2]

Из базы в Image у меня все работает. А мне надо наоборот.
А в таком разрезе, между прочим, никто по существу не отвечал.


 
Johnmen ©   (2005-10-14 10:15) [3]

>А в таком разрезе, между прочим, никто по существу не отвечал.

Отвечали.
Просто всем уже надоело жевать одно и то же с завидной регулярностью для тех, кто не хочет искать, думать, просто жать F1 в конце концов...


 
ANB ©   (2005-10-14 10:25) [4]


>    lobTmp.AsString := Buff;//Загружаю в LobLocator значение
> строки buff

- вот так делать не надо. Грузи сразу из потока. Тебе же уже писали. И кода меньше. Поток не забудь перемотать на начало.


 
iamkate ©   (2005-10-14 12:55) [5]

Да перестаньте же мучать меня и себя! Скажите толком, как грузить сразу из потока и в какое место кода это вставить?!
Ведь нет же LobLocator.LoadfromStream. Как же это сделать?
Я не развлекаюсь, я действительно не знаю как и нигде не могу этого найти!


 
ANB ©   (2005-10-14 14:33) [6]


>  fs.Write(buff[1], fs.Size);//Записываю в строку buff всю
> длину потока
- кто тебе сказал, что здесь ты пишешь в строку ? Хелп глянь, это запись в поток (мусора)



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

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

Наверх





Память: 0.46 MB
Время: 0.02 c
4-1127817486
Adept
2005-09-27 14:38
2005.11.27
Перехват API Функций


2-1131452979
начиннающий
2005-11-08 15:29
2005.11.27
adoconnection


4-1127744726
XGarik
2005-09-26 18:25
2005.11.27
Убить процесс на КПК


2-1131373422
Makxi
2005-11-07 17:23
2005.11.27
Service Application & Delphi 6,7


14-1130948774
Erl
2005-11-02 19:26
2005.11.27
статистика





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский