C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Вставка фотографии в Базу Данных
exo
Отправлено: 13.06.2003, 11:35


Не зарегистрирован







Необходимо создать кнопку при щелчке на которую можно было бы выбирать картинку которую необходимо вставить в БД.
Anry
Отправлено: 16.06.2003, 13:01


Дежурный стрелочник

Группа: Участник
Сообщений: 56



Посмотри тему ниже "Как переслать картинку в БД".
Admin
Отправлено: 17.06.2003, 09:44


Владимир

Группа: Администратор
Сообщений: 1190



Смотря откуда вставлять картинку,
можно из файла, можно из буфера обмена (ClipBoard) и т.д.

CODE

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include <Clipbrd.hpp>

AnsiString sWay;

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
// на форме есть компонент Table c именем TblPhoto
// создаем таблицу TblPhoto с 1 графическим полем Photo типа Graphic
void __fastcall TForm1::FormShow(TObject *Sender)
{
sWay = GetCurrentDir();
TblPhoto->DatabaseName = sWay;
TblPhoto->CreateTable();
TblPhoto->Open();
}
//---------------------------------------------------------------------------
// вставляем картинку из указанного файла
void __fastcall TForm1::bInsertFromFileClick(TObject *Sender)
{
TblPhoto->Insert();
TblPhotoPhoto->LoadFromFile(sWay+"\\Factory.bmp");
TblPhoto->Post();
}
//---------------------------------------------------------------------------
// вставляем картинку из компонента Image1
void __fastcall TForm1::bInsertFromImageClick(TObject *Sender)
{
TblPhoto->Insert();
TblPhotoPhoto->Assign((TPersistent*)Image1->Picture);
TblPhoto->Post();
}
//---------------------------------------------------------------------------
// вставляем картинку в буфер обмена из Image1->Picture
void __fastcall TForm1::bCopyToClipboardClick(TObject *Sender)
{
Clipboard()->Assign(Image1->Picture);
}
//---------------------------------------------------------------------------
// вставляем картинку из буфера обмена
void __fastcall TForm1::bInsertFromClipboardClick(TObject *Sender)
{

if(Clipboard()->HasFormat(CF_PICTURE)){
TPicture *bm = new TPicture();
bm->Assign(Clipboard());
TblPhoto->Insert();
TblPhotoPhoto->Assign((TPersistent*)bm);
TblPhoto->Post();
delete bm;
}else ShowMessage("Bad Graphic Format in ClipBoard !");
}
//---------------------------------------------------------------------------


Работающий пример этого проекта к C++Builder 6
можно скачать здесь (56 Кб)

Отредактировано Admin — 17 Jun 2003, 09:48

Вернуться в Работа с базами данных в C++Builder