Главная страница
    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.005 c
14-70927
Pat
2002-06-23 17:43
2002.07.22
Проблема выбора винта


3-70636
Explorer
2002-07-01 13:00
2002.07.22
try...except при коннекции


1-70716
nwc_eminem
2002-07-11 15:14
2002.07.22
Как получить параметры, переданные при запуске программы?


14-70889
dishar
2002-06-24 23:14
2002.07.22
Срочно нужен список литературы


3-70657
Alexcool
2002-06-27 20:16
2002.07.22
SQL запрос из двух таблиц





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