社区
数据库
帖子详情
怎样将矢量图形以二进制数据存入数据库
chinavane
2004-04-22 05:34:05
怎样将自己在视图中画的矢量图形以二进制数据存入数据库中某个表的一个字段中?
...全文
145
3
打赏
收藏
怎样将矢量图形以二进制数据存入数据库
怎样将自己在视图中画的矢量图形以二进制数据存入数据库中某个表的一个字段中?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
quace
2004-04-22
打赏
举报
回复
生成emf,然后用楼上的方法。
swbreath
2004-04-22
打赏
举报
回复
11. 访问长数据
在Microsoft SQL中的长数据包括text、image等这样长类型的数据,作为二进制字节来对待。
可以用Field对象的GetChunk和AppendChunk方法来访问。每次可以读出或写入全部数据的一部分,它会记住上次访问的位置。但是如果中间访问了别的字段后,就又得从头来了。
请看下面的例子:
//写入一张照片到数据库:
VARIANT varChunk;
SAFEARRAY *psa;
SAFEARRAYBOUND rgsabound[1];
//VT_ARRAY | VT_UI1
CFile f("h:\\aaa.jpg",CFile::modeRead);
BYTE bVal[ChunkSize+1];
UINT uIsRead=0;
//Create a safe array to store the array of BYTES
while(1)
{
uIsRead=f.Read(bVal,ChunkSize);
if(uIsRead==0)break;
rgsabound[0].cElements =uIsRead;
rgsabound[0].lLbound = 0;
psa = SafeArrayCreate(VT_UI1,1,rgsabound);
for(long index=0;index<uIsRead;index++)
{
if(FAILED(SafeArrayPutElement(psa,&index,&bVal[index])))
::MessageBox(NULL,"啊,又出毛病了。","提示",MB_OK | MB_ICONWARNING);
}
varChunk.vt = VT_ARRAY|VT_UI1;
varChunk.parray = psa;
try{
m_pRecordset->Fields->GetItem("photo")->AppendChunk(varChunk);
}
catch (_com_error &e)
{
CString str=(char*)e.Description();
::MessageBox(NULL,str+"\n又出毛病了。","提示",MB_OK | MB_ICONWARNING);
}
::VariantClear(&varChunk);
::SafeArrayDestroyData( psa);
if(uIsRead<ChunkSize)break;
}//while(1)
f.Close();
//从数据库读一张照片:
CFile f;
f.Open("h:\\bbb.jpg",CFile::modeWrite|CFile::modeCreate);
long lPhotoSize = m_pRecordset->Fields->Item["photo"]->ActualSize;
long lIsRead=0;
_variant_t varChunk;
BYTE buf[ChunkSize];
while(lPhotoSize>0)
{
lIsRead=lPhotoSize>=ChunkSize? ChunkSize:lPhotoSize;
varChunk = m_pRecordset->Fields->
Item["photo"]->GetChunk(lIsRead);
for(long index=0;index<lIsRead;index++)
{
::SafeArrayGetElement(varChunk.parray,&index,buf+index);
}
f.Write(buf,lIsRead);
lPhotoSize-=lIsRead;
}//while()
f.Close();
itmaster
2004-04-22
打赏
举报
回复
示例代码:
假设你已经配置好了ADO:
.......
CString str = _T("0x0002");
IADORecordBinding *picRs = NULL;
_RecordsetPtr pRs("ADODB.Recordset");
_ConnectionPtr pConn("ADODB.Connection" );
pConn->ConnectionString = chDataSource;//数据库的绝对路径
pConn->Provider = _T("Microsoft.Jet.OLEDB.4.0");
try
{
pConn->Open(pConn->ConnectionString, "", "", adModeUnknown);
pRs->QueryInterface(
__uuidof(IADORecordBinding), (LPVOID*)&picRs);
pRs->Open( (_variant_t)chSqlSentence,
pConn.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch (_com_error &e)
{
sprintf(errMsg,_T("Code meaning = %s\n"), (char*) e.ErrorMessage());
AfxMessageBox(errMsg);
return;
}
try
{
pRs->AddNew();
pRs->PutCollect("name",(_variant_t)str);
pRs->Update();
pRs->Close();
pConn->Close();
}
catch (_com_error &e)
{
sprintf(errMsg,_T("Code meaning = %s\n"), (char*) e.ErrorMessage());
AfxMessageBox(errMsg);
return;
}
QGIS 将 Shapefile 导入 PostGIS
数据
库
QGIS、PostgreSQL和PostGIS是地理信息系统(GIS)中常用的工具。QGIS是一款开源的桌面GIS软件,用于可视化和编辑空间
数据
。PostgreSQL是一个强大的关系型
数据
库
管理系统,而PostGIS是其空间
数据
库
扩展,使PostgreSQL能够存储和查询空间
数据
。三者结合,PostgreSQL+PostGIS提供后端
数据
存储和管理,QGIS则作为前端工具进行
数据
可视化和编辑。本文以“场所.shp”文件为例,演示了如何在QGIS中加载Shapefile文件
公共课计算机必背知识点 讲义+详解
计算机处理
数据
时,CPU通过
数据
总线一次存取、加工和传送的
数据
称为字,计算机的运算部件能同时处理的(这一组)
二进制
数据
的位数称为字长。还包括机器的兼容性(
数据
和文件的兼容、程序兼容、系统兼容和设备兼容),系统的可靠性(平均无故障工作时间),系统的可维护性(平均修复时间),机器允许配置的外部设备的最大数目,
数据
库
管理系统及网格功能等。对计算机硬件资源的有效控制与管理,提高计算机资源的使用效率,协调计算机各组成部分的工作,并在硬件提供的基本功能的基础上拓展计算机的功能,提高计算机实现和运行各类应用任务的能力。
SuperMap GIS基础软件中
数据
库
使用指南
项目中经常会用到各种类型的
数据
库
,如何根据应用场景选择?如何正确与SuperMap产品结合使用?研究院整理了【SuperMap GIS基础软件中
数据
库
使用指南】,包括主流
数据
库
介绍、
数据
库
推荐、
数据
库
中系统表和
数据
表说明、主流
数据
库
使用说明、
数据
库
之间的迁移、二三维瓦片管理等。
postgresql 空间
数据
操作
GIS开发对
数据
的操作,主要是对空间
数据
的操作。PostgreSql提供了一些处理空间
数据
的函数,操作起来是比较方便的。 空间
数据
介绍这些函数之前,先了解一下什么是空间
数据
。空间
数据
是指用来表示空间实体的位置、形状、大小及其分布特征诸多方面信息的
数据
,它可以用来描述来自现实世界的目标,它具有定位、定性、时间和空间关系等特性。空间
数据
是一种用点、线、面以及实体等基本空间
数据
结构来表示人们赖以生存的自然世界的
数据
。简单来说,操作空间
数据
主要是对点、线、面等基本结构的操作。 地图上的图层有面图...
[渝粤教育] 无锡商业职业技术学院 信息技术基础 参考 资料
教育 -信息技术基础-章节资料考试资料-无锡商业职业技术学院【】 1.3进制转换随堂测验 1、【单选题】下列不同进制的4个数中,最小的数是__________。 A、八进制77 B、
二进制
1100010 C、十进制65 D、十六进制45 参考资料【 】 2、【单选题】将十进制数937.4375与
二进制
数1010101.11相加,其和是________。 A、八进制数2010.14 B、十六进制数412.3 C、十进制数1023.1875 D、十进制数1022.7375 参考资料【 】 3、【
数据库
4,017
社区成员
39,807
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章