• 您的位置我爱Aspx >> VC.Net >> <b>VC编程中如何操作数据库中的图像字段</b>
  • <b>VC编程中如何操作数据库中的图像字段</b>

  • 作者:aspxer  来源:internet  日期:2007-5-21 23:13:18  关键字:数据库,数据
  • VC编程中如何操作数据库中的图像字段

    在VC进行数据库编程中对图像的处理一直是个难点,经常有朋友为如何向数据库中添加图像或从数据库中读取图像数据并显示处理等问题所困扰,目前关于VC数据库编程的图书不少,但很少有涉及图象问题的,本文针对这一现状,介绍了如何解决上述的问题,希望可以对朋友们有所帮助。

    本文以ACESS97为例,采用ODBC方式打开数据库Photo,数据库Photo的images表中含有一个image的图像字段,在刚打开时显示第一条记录。存取操作时关键是确定数据的长度,读数据操作时图像数据可以从记录集的图像字段对应的长二进制成员变量m_Image的成员m_hData得到,这个句柄变量存放分配给图像字段的数据,该对象的另一个成员变量m_dwDataLength为该字段的实际长度,在某些情况下,m_dwDataLength的值有可能小于m_hData中的数据长度值。具体内容可以参考MSND。以下实现的部分关键代码。首先请看 CdbImages记录集的定义:

    CdbImages::CdbImages(CDatabase* pdb)

    : CRecordset(pdb)

    {

    //{{AFX_FIELD_INIT(CdbImages)

    m_nFields = 2;//数据库中有两个字段

    //}}AFX_FIELD_INIT

    m_nDefaultType = snapshot;//数据库以快照形式打开

    }

    CString CdbImages::GetDefaultConnect()

    {

    return _T("ODBC;DSN=MS Access Database");//以ODBC操作数据库

    }

    CString CdbImages::GetDefaultSQL()

    {

    return _T("[Images]");//默认的操作是连接到数据库中的Images表

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:<b>用VC++6.0的Sockets API实现一个聊天室程序</b>
    下一篇:<b>一个键盘程序的开发实例</b>