⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_25665.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:25665 发表者:lin 发表日期:2002-12-24 17:27:45
<br>主题:Access数据库编程(OLE对象)
<br>内容:Access数据库中有一种数据类型---OLE对象<BR>用它可以存储 “长二进制数”或图片等一些格式的内容;<BR><BR>在VC中ODBC编程,对应的类是 CByteArray或CLongArray<BR>该如何读取或修改??????<BR>最好能提供一点源码研究研究!!!!<BR><BR>那位大虾帮帮忙!!!!谢谢啦!!!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:tjhe 回复日期:2002-12-24 17:40:34
<br>内容:看看这个:<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lin 回复日期:2002-12-25 09:43:25
<br>内容:先谢谢你!!!!!<BR>试验了一下,好像不行?<BR>1.读入图片信息后,写不进,执行们m_pSet-&gt;Update()出错<BR><BR>2.我写了一个程序,麻烦你给看看改改<BR>&nbsp;&nbsp;&nbsp;&nbsp;a,数据库要先用ODBC注册<BR>&nbsp;&nbsp;&nbsp;&nbsp;b,在主界面有三个按钮(button1,button2,button3)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;button1:按照你的方法写入图片信息<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;button2:我将你的方法越加改动了一下,写入一些float型数据<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;button3:读出那段float型数据<BR><BR>3.请指出程序中的错误,将万分感激!!!<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:tjhe 回复日期:2002-12-25 10:17:04
<br>内容:附件解压时出现错误,请重新发送<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lin 回复日期:2002-12-25 11:26:01
<br>内容:好的!!!<BR><BR>谢谢你!!!!<BR><BR>文件比较大,先发&nbsp;&nbsp; 程序源码
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lin 回复日期:2002-12-25 11:27:13
<br>内容:数据库文件<BR><BR>能把你的E-mail地址留下吗?可以向你直接请教!!<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lin 回复日期:2002-12-26 09:33:06
<br>内容:谢谢你的指教!!!<BR>你的E-mail地址我好像发不出去!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lin 回复日期:2002-12-26 10:08:59
<br>内容:收到你的E-mail非常感谢!!!<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;昨天我就试了一下,用你的方法读可以,但是写不进去!!!<BR>&nbsp;&nbsp;&nbsp;&nbsp;根据你修改的程序,也是在写后出现的问题,它在执行Requery()函数时出错,报内存不足的错误。而不进行button1处理,而执行button2处理后,再进行其它处理无错误。我认为还是在写时发生了错误,你在写的过程中大量使用了类似于GlobalFree释放内存、分配内存的函数,可能由于某块指针未释放造成。<BR>&nbsp;&nbsp;&nbsp;&nbsp;在这里提一个问题:在ODBC中操作其它类型的变量应该说比较简单的,而操作OLE对象似乎有点烦,这是为什么?不知在那本书里讲的比较详细?<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;我刚刚接触ODBC编程,有些东西不是很了解。谢谢你的指教!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lin 回复日期:2002-12-26 10:18:45
<br>内容:我又试了一下,改正了错误!!<BR><BR>你在写入数据时,使用了&nbsp;&nbsp; <BR>HGLOBAL hPic = NULL;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//图片句柄<BR>hPic = ::GlobalAlloc(GPTR,picFile.GetLength());&nbsp;&nbsp;//分配内存块<BR>m_pSet-&gt;m_Photo.m_hData = ::GlobalLock(hPic);&nbsp;&nbsp;&nbsp;&nbsp;//锁定内存块,并传递头指针<BR><BR>我没有使用&nbsp;&nbsp; hPic,而直接分配内存块,其它不变<BR>m_pSet-&gt;m_Photo.m_hData = ::GlobalAlloc(GPTR,picFile.GetLength());<BR>这样就好啦,能读能写!!!!<BR><BR>不过我虽然解决了错误,当对使用HGLOBAL hPic 为什么不行、造成错误的原因不甚连接,你能给分析一下吗?从语法上分析,应该没有错误!!!<BR><BR>再次感谢你的指教!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:tjhe 回复日期:2002-12-26 10:31:35
<br>内容:<BR><BR>HGLOBAL hPic 为什么不行,我也不清楚,第一次遇到,以前我也这样用,好像没问题,找找原因看。<BR><BR>::GlobalAlloc(GPTR,picFile.GetLength());&nbsp;&nbsp;//分配内存块,没锁定<BR>可能数据库操作时其内部自行锁定吧。<BR><BR>你的改正对我也很有帮助。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lin 回复日期:2002-12-26 11:17:19
<br>内容:m_pSet-&gt;m_Photo.m_hData = ::GlobalAlloc(GPTR,picFile.GetLength());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //分配内存块,没锁定<BR>::GlobalLock(m_pSet-&gt;m_Photo.m_hData);//锁定<BR>。。。。。。。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//其它修改操作<BR>::GlobalUnlock(m_pSet-&gt;m_Photo.m_hData);//开锁<BR><BR>这样运行无问题,我试过不使用GlobalLock()和GlobalUnlock()函数一样可以,当我认为加上可能更安全一些。<BR><BR>能否留下你的E-mail,你上面这个好像不能发,以后有什么问题好向你请教!!!<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -