Форум: "Базы";
Текущий архив: 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