社区
数据库及相关技术
帖子详情
请高手快给我答复吧!!!三急之一呀!!在线等待!!!如何在联接数据库的情况下,在DBImage控件上显示库中的bmp图象??
ycy011176
2003-08-27 03:44:33
三急之一呀!!在线等待!!!如何在联接数据库的情况下,在DBImage控件上显示库中的bmp图象??
...全文
35
7
打赏
收藏
请高手快给我答复吧!!!三急之一呀!!在线等待!!!如何在联接数据库的情况下,在DBImage控件上显示库中的bmp图象??
三急之一呀!!在线等待!!!如何在联接数据库的情况下,在DBImage控件上显示库中的bmp图象??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
IT-司马青衫
2003-09-12
打赏
举报
回复
BCB数据库图像保存技术
加上头文件#include<jpeg.hpp>
1
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
OpenDialog2->FileName="";
if (OpenDialog2->Execute())
{
String f=OpenDialog2->FileName;
if (FileExists(f))
{
String ext=ExtractFileExt(f).LowerCase();
if (ext==".bmp" || ext==".jpg"|| ext==".jpeg")
{
String jpg=ChangeFileExt(ExtractFileName(f),".jpg");
TJPEGImage *j=new TJPEGImage;
if (ext==".bmp")
{
Graphics::TBitmap *b=new Graphics::TBitmap;
b->LoadFromFile(f);
j->Assign(b);
j->CompressionQuality=90;
j->Compress();
delete b;
}
else
{
TFileStream *fs=new TFileStream(f,fmOpenRead);
j->LoadFromStream(fs);
delete fs;
}
DataModule1->ADODataSet1->Edit();
DBEdit2->Text=jpg;
TStream *bs=DataModule1->ADODataSet1->CreateBlobStream(
DataModule1->ADODataSet1->FieldByName("照片图像"),bmReadWrite);
bs->Position=0;
j->SaveToStream(bs);
delete j;
delete bs;
DispJpg();
}
}
}
}
2
记住一定要在post前delete TADOBlobStream对象。
//读
TBlobField * pField=(TBlobField *)pQuery->FieldByName("Image");
TADOBlobStream* pmem=new TADOBlobStream (pField,bmRead);
pmem->Seek(0,soFromBeginning);
Graphics::TBitmap * pBitmap=new Graphics::TBitmap();
pBitmap->LoadFromStream(pmem);
Image1->Picture->Assign(pBitmap);
delete pBitmap;
delete pmem;
//写
pQuery->Edit();
TBlobField * pField=(TBlobField *)pQuery->FieldByName("Image");
TADOBlobStream * pmem=new TADOBlobStream (pField,bmWrite);
pmem->Seek(0,soFromBeginning);
Graphics::TBitmap * pBitmap=new Graphics::TBitmap();
pBitmap->Assign(Image1->Picture->Graphic);
pBitmap->SaveToStream(pmem);
delete pBitmap;
delete pmem;
pQuery->Post();
如果你在ttable中用了固定字段,就更简单了,以下的ADOTable1pic字段就是
读取access中的blob数据
TMemoryStream *s = new TMemoryStream();
ADOTable1pic->SaveToStream(s);
s->Position=0; //****流首位置必须为零***
TJPEGImage *jp = new TJPEGImage();
jp->LoadFromStream(s);
Image1->Picture->Bitmap->Assign(jp);
delete jp;
delete s;
写数据到access的blob字段
if (OpenDialog1->Execute())
{ADOTable1->DisableControls();
ADOTable1->Append();
ADOTable1pic->LoadFromFile(OpenDialog1->FileName);
ADOTable1name->Value=OpenDialog1->FileName;
ADOTable1->Post();
ADOTable1->EnableControls();
}
3
void __fastcall TForm2::DBImage2Click(TObject *Sender)
{
try
{
if(OpenPictureDialog1->Execute());
{
AnsiString MyFilesExtension = UpperCase(ExtractFileExt(OpenPictureDialog1->FileName));
if(MyFilesExtension==".JPG")
{
TJPEGImage *jpg=new TJPEGImage();
jpg->LoadFromFile(OpenPictureDialog1->FileName);
Clipboard()->Assign(jpg);
DBImage1->DataSource->DataSet->Edit();
DBImage1->PasteFromClipboard();
DBImage1->DataSource->DataSet->Post();
delete jpg;
}
if(MyFilesExtension==".BMP")
{
EditDataSource1->DataSet->Edit();
DataModule1->FindADODataSetDSDesigner7->LoadFromFile(OpenPictureDialog1->FileName);
}
}
}
catch(...)
{
StatusBar1->Panels->Items[1]->Text="保存图像发生异常";
}
}
4
在BCB中采用下术方法存入图片,不过显示代码不用写了,DBImage自动显示.
if(OpenPictureDialog1->Execute());
{
AnsiString MyFilesExtension = UpperCase(ExtractFileExt(OpenPictureDialog1->FileName));
if(MyFilesExtension==".JPG")
{
TJPEGImage *jpg=new TJPEGImage();
jpg->LoadFromFile(OpenPictureDialog1->FileName);
Clipboard()->Assign(jpg);
DBImage1->DataSource->DataSet->Edit();
DBImage1->PasteFromClipboard();
DBImage1->DataSource->DataSet->Post();
delete jpg;
}
yuyulily
2003-09-02
打赏
举报
回复
呵呵,还是说说你其它两急吧
runnerrunning
2003-09-02
打赏
举报
回复
可以直接显示啊,同上
又不是jpeg格式,没什么多于要做的
我不懂电脑
2003-08-28
打赏
举报
回复
同上
FlySky01
2003-08-28
打赏
举报
回复
联接数据库 +设置DataSource的dataset+ 设置DBImage的DataSource+table->active=ture
myan18
2003-08-27
打赏
举报
回复
用DataBase控件连接数据库后,在AfterConnect事件中写:
DBImage->DataSource=DataSource1;
DataSource1->DataSet=Table1;
Table1->DataBase="数据库名";
Table1->TableName="表名";
DBImage->DataField="库中的bmp图象的字段名";
就可以了。
zjqyb
2003-08-27
打赏
举报
回复
联接数据库 +设置DataSource的dataset+ 设置DBImage的DataSource不就行了
SQL性能优化
今天痛下决心,把有关sql性能优化的相关知识总结一下,以便在不久的将来,我的回答不是“没有”,总能多多少少说一些东西。算是长进吧。说到性能优化,本人感觉到有必要先了解sql语句的执行顺序,因为对优化或多或少...
推荐一本写给IT项目经理的好书
推荐一本写给IT项目经理的好书 原文:http://www.cnblogs.com/cbook/archive/2011/01/19/1939060.html 清理电脑,十数年来,无数资料,近来每天抽空好好整理整理, 做IT的特别是整ERP的,四个字形容:命苦可怜.发现本...
Thinkpad常见问题大全(转载联想工程师博客)
想要收藏本篇文章
请
下载Word版 Q:我想升级成VISTA,想问一下,升级之后一键恢复是恢复到XP还是VISTA?A:如果从隐含分区恢复出厂设置,那当然是恢复到出厂时预装的系统;如果是用R&
SQLSERVER完全优化教程
我们把这种 正文内容 本身就是一种按照一定规则排列的 目录 称为“聚集索引”。 需要两个过程,先找到目录中的结果,然后再翻到您所需要的页码。我们把这种目录纯粹是目录,正文纯粹是正文的排序方式 称为“非...
软件项目管理
或者在很紧凑的一个时间段安排几家供应商都用两三天的时间做一个调研,此时所有供应商恐怕都很难立即对项目
情况
有一个完备的了解,这个时候与其说调研目的是搞完全清楚企业业务流程,不如说是让用户认为我们在这个...
数据库及相关技术
1,178
社区成员
18,939
社区内容
发帖
与我相关
我的任务
数据库及相关技术
C++ Builder 数据库及相关技术
复制链接
扫一扫
分享
社区描述
C++ Builder 数据库及相关技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章