说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Access的OLE字段问题,十分头痛,高手指点。代码附后

编辑:说三道四文库 发布时间:2017-09-21 04:17
HTML文档下载 WORD文档下载 PDF文档下载
Access的OLE字段在用VC操作的时候出现奇怪现象,就是某个记录的OLE字段赋值以后,本人给该字段赋给纯文本
CMyApp* pApp = (CMyApp*)AfxGetApp();
pApp->m_pDatabase->BeginTrans();
if(FALSE == DeleteCurrRec())
{
//本人利用先删除后新增的方式来实现OLE字段更新
AfxMessageBox("当前记录无法删除,这将导致更新失败!");
return;
}
m_pContentRecordset->AddNew();
m_pContentRecordset->m_szContent = m_content;
m_pContentRecordset->m_wCode = atol(m_Code.GetBuffer(m_Code.GetLength()));
m_pContentRecordset->m_Resolution.m_dwDataLength = m_strResolution.GetLength();  //OLE字段长度限制
HGLOBAL hGlobal = GlobalAlloc(GPTR,m_strResolution.GetLength());
m_pContentRecordset->m_Resolution.m_hData = GlobalLock(hGlobal);
//下面将纯文本赋给OLE字段
memcpy(m_pContentRecordset->m_Resolution.m_hData,
m_strResolution.GetBuffer(m_strResolution.GetLength()),
m_strResolution.GetLength());
//设置脏标志,便于提交数据
m_pContentRecordset->SetFieldDirty(&m_pContentRecordset->m_Resolution);
m_pContentRecordset->SetFieldNull(&m_pContentRecordset->m_Resolution,FALSE);
m_pContentRecordset->Update();  //更新数据集
pApp->m_pDatabase->CommitTrans();
if(0 == GlobalUnlock(hGlobal))
GlobalFree(hGlobal);
................
问题一:奇怪的问题,赋值没有出现任何问题,按理说严格地执行赋值操作,因为OLE字段赋值时有长度限制,不应该有乱码,而实际取出的值

总是有空字符或乱码,并且TrimRight()都无法去掉,很怪!
问题二:某个记录的OLE字段一旦清空,并提交成功后,第二次便无法打开数据表,总是提示“内存不够”,其实内存很大,本人是用过滤的方

法打开的,代码如下:
CMyApp *pApp = (CMyApp*)AfxGetApp();

m_ContentRecordset = new CContentRecordset(pApp->m_pDatabase);
//设置过滤条件,Code为Content表主键,即是每次只有一条记录被查出来
m_ContentRecordset->m_strFilter.Format("Code=%s",m_Code); 

if(!m_pContentRecordset->Open(CRecordset::dynaset))
{
AfxMessageBox("告内容表打开失败!");
delete m_pContentRecordset;
m_pContentRecordset = NULL;
return FALSE;
}
return TRUE;

高手指教!万分感谢!
m_pContentRecordset->m_Resolution.m_hData = GlobalLock(hGlobal);

GlobalFree(m_pContentRecordset->m_Resolution.m_hData);
m_pContentRecordset->m_Resolution.m_hData=GlobalAlloc(GHND,m_strResolution.GetLength());
LPVOID lpvMem=NULL;
lpvMem= GlobalLock( m_pContentRecordset->m_Resolution.m_hData);

memcpy(lpvMem,
m_strResolution.GetBuffer(m_strResolution.GetLength()),
m_strResolution.GetLength());

...

GlobalUnlock(m_pContentRecordset->m_Resolution.m_hData);
http://www.codeguru.com/mfc_database/MSAccessOLEField.shtml
mark
up
使用ado比较好实现阿,你怎么还用odbc,尤其是存在ole字段时,更应该使用ado阿
问题一:奇怪的问题,赋值没有出现任何问题,按理说严格地执行赋值操作,因为OLE字段赋值时有长度限制,不应该有乱码,而实际取出的值总是有空字符或乱码,并且TrimRight()都无法去掉,很怪!
注意:可能你输入的纯文本超长了,而且你的纯文本是中文字符的,可能系统在截断文本的时候,出现了半个中文的现象,而且那半个中文,正好是不能显示的控制符,当然就成了不能删除的空格了。
总是有空字符或乱码,并且TrimRight()都无法去掉,很怪!
问题二:某个记录的OLE字段一旦清空,并提交成功后,第二次便无法打开数据表,总是提示“内存不够”,其实内存很大,本人是用过滤的方法打开的,
注意:既然你输入的是纯文本,系统在阶段截断文本的时候,是拦腰截断的,并没有在截断的文本尾部添加上\x0的字符串结束符,那么Access在读取mdb文件的时候,不能正确的读取纯文本,当然要出错了。
代码、TDD速查表 如何选择前端架构:服务器端HTML vs. JS部件 vs.单页Web应用 世界上最高深的Android特洛伊病毒 招聘iOS开发,老板必问的5个问题 护航科技吴伟湘:IT离线安全体检服务将带来颠覆 百度王继平:移动互联网时代云平台思路 “第八届开源中国开源世界高峰论坛”火热开启 微软发布SQL Server 2014预览版,展示内存数据库技术 帮助软件开发者提高效率的10个小窍门 我想做个程序员:Technovation Challenge圆女孩编程梦想 未来我们开发的Google Glass应用将会是什么样? 独家:前RIM大中华区总经理刘征宇,加入Appconomy 用一个API搞定一切 Segment.io为移动开发者提供便利的分析数据分发服务 TIOBE 6月编程语言排行榜:JavaScript回归前十 《Kingdom Rush Frontiers》上线后 迅速抢占27个国家游戏榜首 移动周报:85后程序员,iOS开源项目,细数7天大事件! Instagram:从Redis到Cassandra 成本节省1/4 乐元素CTO凌聪访谈:游戏引擎技术选型之王道 iOS 7的新设计并非止于外表 WWDC 2013大会10大启示:正向开发者支付大量现金 云计算大会微软专场成功举办 Windows Azure公众预览版上线 IBM全球大裁员 在美国裁员已经开始 动动鼠标,决定“中国十大优秀开源项目”的归属 为改善Flickr 雅虎收购拍照应用开发商GhostBird 让你轻松学习新代码库的六个步骤 RESTful API 设计最佳实践 谷歌11亿美元豪购Waze原因:获取数据 争本地广告市场 为什么大家都要疯狂吐槽iOS 7的扁平化设计? 伟大的程序员是天生的,不是造就的 比Hive高效7倍 Facebook推新一代查询引擎Presto 未来的存储系统设计——PMC技术交流会举行 看看这是什么错误,在线等!立刻给分 Java in a Nutshell,2nd Edition 的电子版何处可以download?(英文的也可以) gtk2,书中例题出错:2.2节,快捷菜单 请教高人:如何将Access中的表table的全部内容转换到word的表格中? Java虚拟机与浏览器的关系? 关于loadmovie的问题 请问在网页表格中如何把数据读取后在一行中横向排列? 我用IE6.0菜单中的 编辑→查找 出现以下错误 问一个关于类引用的问题(新手) 关于参数的问题,棘手啊 今天我女朋友出门了,,我好担心。。。。。。可恶的非典 学习《Visual C++技术内幕》遇到的几个问题1 一个玩游戏玩出的问题 如何控制for语句的执行时间?? 简单sql查询,高手请近来点拨一下,多谢 redhat 7.2下如何绑定多个IP地址?????急!!! 调试 莲塘光之流因特网实时交互媒体系统 如何静态连接到msvcrt?(100分!!!) 多用户问题 这个问题怎么解决? 请问LINUX能否使用微软的PPT文件??? 简单问题:for(i=0;i<10;i++)是什么意思?(在线) 怎么将编译好的程序打包,并可以在另外一台机器上变成可执行的程序?它包括对服务器上的数据处理 怎样编译sysinit.pas单元? 我郁闷啊!把CRecordset中的内容显示到ListCtrl中的奇怪问题 如何将一幅图片放大缩小? 如何在1台机器同时调试两个WEB服务? 在用frontpage 建立网页的超链接时, 字体颜色发生改变 为什么GetPrivateProfileSection只能读一行数据呢 100分大放送 操作符重载到底是怎么回事我看书也没怎么看明白? 请问如何截取两个sysdate之间的间隔秒数啊? 大家起讨论吧:VC与VC++的区别在于哪里. 寻求软件开发合作伙伴!要求具有行业素养,熟pb或delphi的个体或团队。在广大地区尤佳! 想做漂亮软件主页的朋友请看过来!!! 火焰算法! 专家不帮我??谁帮我???API调用的史无前例的super难题(PFXExportCertStoreEx) 各位大哥哥,帮帮小弟 如何动态改变frame的指向页面??? 请教!如何定位word中的某一个表格,如何取出表格中的内容?急呀!在线等待 如果有一个数组,希望所有的对象都能够读取它,而只有一个特别的对象能够修改它,在程序该怎么设计和实现? 如果有一个数组,希望所有的对象都能够读取它,而只有一个特别的对象能够修改它,在程序该怎么设计和实现? Datagrid 问题,为什么我按下一页到第二页就翻不下去了? 有效的用户名用正则表达式怎么写? 请问:如何控制for语句的执行时间?? *****上传文件的路径问题?(VB)******** 关于名字空间的问题(online waiting). 在Radhat8.0中如何更改显示器刷新率 intraweb问题 请教用intraweb开发的程序中如何用iwtimer定时 在线等待 小第想考mcse, 希望各位大虾多多支持 Delphi的DLL中是不是? function()函数的具体用法请大侠具体告知, 黄河保持水土是上游还是中游 三龙1度电神灯开关上的AC和DC各表示什么功能?拜托各位了 3Q 破碎锤纤杆材质与焊接方法大神们帮帮忙我想问下液压破碎锤纤杆的材质是什么?以及该怎么焊接? 如何区分五种表达方式? 大家的孩子多大会按玩具、按按钮、按开关这些啊?3Q请问,大家的孩子多大会用食指按玩具、按按钮、按开关这些啊?我宝还不会,唉.给她个琴,她只会翻来覆去的玩,其他玩具也一样.抱到开关前 车刀氧焊的方法求大神帮助 文章表达方式怎么区分 开关面板的优点是什么? 在第二次鸦片战争中,英法联军在中国抢走了那些国宝. 怎样分辨表现手法和表达方式 这盆植物叫什么名,属于x科? 第二次鸦片战争的发起者是英法联军对不对 问一个频哪醇的重排 MOV A,AD_NUM_BCD_H_0 ANL A,#0F0H SWAP A MOV B,#10 MUL AB.功能,为什么是这样写,为什么乘以10mov a,AD_NUM_BCD_H_0anl a,#0F0Hswap amov b,#10mul abmov r0,amov a,AD_NUM_BCD_H_0anl a,#0FHadd a,r0mov r0,amov a,AD_NUM_BCD_H_1anl a,#0F0Hswap amov DNA就是遗传物质,为何人们说染色体是遗传物质的载体却不说染色体是DNA的载体? 在“第二次鸦片战争”中,“树上的伙伴”都是指谁?在这一事件中美国扮演了什么角色? 一段话关于日落或日出用上光彩 倒影 温和 温柔 收敛 一瞬间 一刹那 红灯笼 恬静 飘飘悠悠 如痴如醉 诗情画意 宛如 仿佛请快一点. 染色体、DNA、基因哪个不是遗传物质 美国在世界上扮演什么角色?当今世界上美国扮演的是什么角色?左冷禅?岳不群?他想统治整个世界吗?其他国家是否了解它的野心? 描写日出的一段话快———— 怎样学打拼音快? 什么是物件膨胀? 求x 5x-6=x+6-(2-x) 快 (软)拼音怎么打, 浓淡煤粉燃烧器可能对锅炉及燃烧产生哪些负面影响? 父利其然也 “然”的意思 非诚勿扰拼音怎么打?如题. 物质的收缩和膨胀产生的力的比例是多少? 父利其然也 然的意思 该怎么用碰撞理论来解释0级反应和1级反应 哪种物质常温下膨胀率最大 父利其然也 中 “其”的意思 是什么? 磺胺嘧啶和 磺胺间甲氧嘧啶钠有什么区别 物体凝固为什么会膨胀?物体凝固为什么体积会膨胀? 用配方解x^3+5x-6=0 这种是什么鸡啊 急 朋友说这是非洲鸡 对吗 物体膨胀时又极限吗就像温度计是通过水的膨胀测定温度的,那么水和其他物体膨胀有没有极限那? 父利其然也的意思 CA10B解放牌汽车后钢板弹簧吊耳UG三维零件图 Agilent 6820FID检测器喷嘴换了之后为什么工作站不能检测到 父利其然也 中 “其”的意思 是什么?用原文回答父利其然也 中 “其”的意思 是什么?用原文中的句子回答 丙二酸有同分异构体吗 哪些物品会膨胀 Al2(CO3)+6H2O=(可逆)=2Al(OH)3+ 3CO2 的反应原理,Al2(CO3)+6H2O=(可逆)=2Al(OH)3+ 3CO2 里面的co2是根据什么来的,反应原理说下,分式写下.不懂啊,这是双水解反应.那个是总式,我要分式啊,Al3+水解得到Al(OH)3 CO3 “效率和公平能兼顾”这句话对吗? 什么东西会膨胀 Al2(CO3)+6H2O=(可逆)=2Al(OH)3+ CO2 里面的co2是根据什么来的,反应原理说下,...Al2(CO3)+6H2O=(可逆)=2Al(OH)3+ CO2里面的co2是根据什么来的,反应原理说下,分式写下.不懂啊,这是双水解反应. 热水瓶内胆下面有个尖尖的是什么玩意? 求UG进行圆柱铣刀的建模实例? 什么东西受到刺激会膨胀起来? 暖水瓶的小尾巴有什么作用 万用表表头分流电阻和电阻档的分压回路在哪个位置哪位高手知道? 什么东西兴奋的时候会膨胀 万用表满偏电流为100微安,直流5毫安,若与表头并联的电阻为4欧,则该万用表表头内阻为多少? 500型万用表表头并联电阻电容可以改善阻尼问题 这种东西会不会膨胀? 请问有没有电阻是不能用万用表去量的104K 250-N是什么型号的电阻? 公平是效率的基础这句话对吗?有一个题的选项说,“公平是效率的基础,只有公平分配,才能促进效率的提高”.这个选项不选,我想知道不选的原因仅仅是它与题干无关,还是这句话本来就不对? 单片机乘法指令:假定(A)=50H (B)=0A0H.执行指令 MUL AB 后,累加器A的内容为( ),寄存器B的内容为( ),CY的内容为( ),0V的内容为( ).怎么计算的, 俄总理敦促乌克兰考虑“入欧”后果日本外务大臣明年春季将访俄就和平条约中国接任联合国安理会2013年11月浙江今日起实时发布县级市AQI指数 北京着手“一日游”综合整治方案 拟建奥巴马叫停国安局对国际货币基金组织与广西岑溪炮竹厂爆炸致7死19伤 事故卫计委:加强医院内部治安管理 保障诊外交部:“东伊运”是中国最直接最现实韩劳工诉日企再获胜 获赔2.3亿韩元到2017年德国医疗保险账户将亏空1黎巴嫩支持召开叙利亚问题第二次日内瓦黎巴嫩支持召开叙利亚问题第二次日内瓦杭州火车东站地裂女子被卡 建设方称系杭州10岁女童遭“淫魔”猥亵 家长怒广西岑溪炮竹厂爆炸 已致7死19伤海军三大舰队西太平洋演习落幕 今后将北京局地达严重污染程度 “蓝天”只能蒙古国高校新增汉语教学点叙问题联合特使称日内瓦会议有望于数周刘奇葆会见朝鲜劳动新闻代表团黄安河南演出:歌迷对我太热烈了 腊八河南省中医药研究院来我村开展义诊活动公告隐现重大利好 周一5股有望冲击涨中国小伙辞职骑行亚非22国 行程3.青岛海尔拟54亿美元收购通用电气家电金信诺拟定增12亿元 扩大公司产能元力股份拟定增6亿元 升级公司产品结罗顿发展拟溢价推100万份股权激励 慧球科技拟获赠实控人近6000万元房魔术十天合同签下基斯-阿普林活塞主帅:我们有能力赢任何人科比:会尽力出战对火箭的比赛闪电狗球流打法解说 附多个小技巧分享西甲奉献稳胆 意甲纠结对阵NBA篮彩推荐永定河与白洋淀将连通如何看深圳滑坡事故案民众踏雪古刹品佛粥北京两将进单项决赛腊八喝粥
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘