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

Вниз

Помогите с импортом в БД   Найти похожие ветки 

 
Бадян   (2002-06-29 01:03) [0]

Помогите с импортом в БД

Здравствуйте, уважаемые Мастера!

Не подскажите как в поле Blob загрузить какой-нить файл?

Извиняйте, но я наСильник. Нижеприведенный пример как на зло не работает. Где я неправ?

if (OpenDialog1->Execute())
{
TBlobStream *pStream;
TMemoryStream *pms = new TMemoryStream();
pms->LoadFromFile(OpenDialog1->FileName);

Table1->Edit();
if (Table1->State == dsEdit)
{
pStream = new TBlobStream(Table1Photo, bmReadWrite);
try
{
pStream->Write(pms->Memory, pms->Size);
Table1->Post();
}
__finally
{
delete pStream;
}
}
delete pms;
}

Заранее благодарю.


 
Lola   (2002-06-29 21:41) [1]


var Bm: TMemoryStream;
Jp: TJpegImage;
begin
Table1.Edit;
Image1.Picture.LoadFromFile(OpenDialog1.FileName); // Загружает изображение в компонент из файла
Jp:=TJpegImage.Create;
Jp.Assign(Image1.Picture.Bitmap); //Помещаешь изображение в класс TJpegImage ;
Bm:=TMemoryStream.Create;
Jp.SaveToStream(Bm); // Сохраняешь Jpeg в потоке
Bm.Seek(0,0);
Dm.Table1PHOTO.LoadFromStream(Bm); //Загружаешь Jpeg в поле через поток
Bm.Free;
Jp.Free;
Table1.Post;
end;



 
kaif   (2002-06-30 00:39) [2]

Я как-то сталкивался с тем, что TBlobStream не надо удалять. Правда я работал с Delphi и это был TIBBlobStream. Посмотри внимательно, может дело в этом. В Help, помнится, что-то говорилось о том, что потоки Blob освобождаются системой автоматически и их не нужно разрушать. Хотя в билдере могут быть отличия в этом вопросе...
Уточни в чем ошибка. Если access violation, то дело, скорее всего в этом. Можно еще вместо write использовать LoadFromStream для загрузки байтов в BlobStream из MemoryStream.


 
Бадян   (2002-06-30 23:29) [3]

Я давно считаю, что ребят из борланда надобно на мыло помаленьку сплавлять.
Пример то я из хелпа выдрал - не сам же придумал. Вот такие дела.

Всем спасиб за помощь. У меня уже все работает.
Вот так:
Table1Photo->LoadFromFile(FileName);
Это был первый вариант, но он по понятному делу не работал, ибо я забыл про Table1->Edit(); - вот и начал в хелпе рыться. До чего это привело - сами видите.



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

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

Наверх





Память: 0.45 MB
Время: 0.004 c
6-70840
SLY-YO
2002-05-11 14:21
2002.07.22
Исходники программы Remote Administrator


1-70727
Helen
2002-07-11 16:19
2002.07.22
Содание текстового файла с расширением отличным от *.txt


14-70858
Wizzard
2002-06-24 05:53
2002.07.22
Если имеется только DCU ... хелп...


1-70801
Кирилл Усов
2002-07-10 11:21
2002.07.22
Проблемы с памятью


14-70887
ioRaptor
2002-06-24 21:09
2002.07.22
Дистрибутив Kylix II





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