Главная страница
    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.014 c
14-1131121160
psa247
2005-11-04 19:19
2005.11.27
Замена TaskManager


14-1131441015
DelphiN!
2005-11-08 12:10
2005.11.27
Создание собственных скинов для BusinessSkinForm


14-1131372016
Red_imp
2005-11-07 17:00
2005.11.27
Как вы относитесь к людям которые рассылают вирусы?


1-1130961477
Freeon
2005-11-02 22:57
2005.11.27
Нужно сгенерировать "подпись" к файлу


1-1130765633
JLes
2005-10-31 16:33
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский