建库时因为不知道怎样存图象,我在oracle中把图象地址作为一个字符串存了起来,比如“E:\document\pic\01023",图象是BMP格式。也就是说图象其实在数据库文件之外,和数据库没有联系,现在用VC写了个记录视图程序,我想在显示数据列的同时显示图象,能够实现吗?我是个VC新手,请大家指教

解决方案 »

  1.   

    这个问题和数据库其实没什么关系取的路径信息
    ::LoadImage
    CreateCompatibleDC
    CreateCompatibleBitmap
    CDC::BltBit
      

  2.   

    to jnxulei(石头),我知道可以用二进制,用long row 或各种lob,但是我不知道怎样存,我现在输入数据是直接使用insert SQL命令或者在oracle控制台中编辑表来直接添加,可是这两种方法怎么添加图像啊?
      

  3.   

    楼主!!!
    人家  hahu(网痞 -- 勿近)先生说得还不清楚吗
    从数据库去图像路径,然后调用hahu的函数哇。技术细节那里不会可以说出来吗。
      

  4.   

    recordset->addnew.
    vckbase.com有个使用blob的例子.
      

  5.   

    其实可以直接把图像存到oracle数据库里,只是在oracle中不能预览如果是存储路径的话不要忘了加两个反斜杠 \
    刚做完这样的一个项目呵呵
      

  6.   

    哦?那我加一点料,实际上我最想实现的功能是当用户在另一台电脑上使用我的ODBC应用程序时,能够把查询结果对应的图像下载到本机的一个新文件夹下面,所以我问了开头的问题。我想了一下,如果暂不考虑要在要显示查询结果的同时显示图像,实际上我用不着把图像读入内存,只是需要完成一个TCP/IP或者FTP下载程序,而这正是我最头疼的部分。我已经知道如何使用BLOB把图像存入数据库中,但是从方便管理的角度来讲,只存储图像路径时最方便的,也许将来我会试一试把图像全存入数据库吧。我的ODBC小程序已经能在局域网上运了,但怎样加上实现”文件的复制“功能我还时一头雾水,大家有什么办法可以教教我吗?有没有什么DEMO可以让我学习一下呢?
      

  7.   

    是要通过网络传输文件吧
    定义一个结构
    #define MAX_DATA_LEN 1024
    struct Picture

        long  dataLen;
        char  data[MAX_DATA_LEN ];
    };
    把文件的信息读到data类面
    dataLen记录文件的长度
    服务端send
    客户端recv
    呵呵
    Vckbase这个地方有一个用CScoket传文件的代码
    前面也有一个“传圣”什么的代码
    http://www.vckbase.com/code/listcode.asp?mclsid=9&sclsid=901&page=3
      

  8.   

    hahu提供的一篇很好的文章:唐一均的“用VC存取数据库中的大对象”http://www.ithome-cn.net/technology/vc/vc144.htm。
    但是我在使用这个例子时遇到了一些问题无法解决,当我基本按照文中的步骤完成程序后(改了一些语法小错误),编译无错后,一运行就报警:完整的报错信息如下:
    Debug Assertion Failed!
    program:E:\StudyMaterial\FtpDownload\lobtwo\Debu\lobtwo.exe
    File:viewform.cpp
    Line:69
    For information on how you program can cause an assertion failure,see the Visual C++documentation on asserts.
    我不知道怎样调试。
    当我不按照文中的步骤手动添加CRecordView和CRecordSet类,而是直接选择“database view with file support"来建立工程,完成程序后,编译无错,运行程序后当我想向数据库的BLOB字段中添加一个选定的文档文件时,程序就与数据库断开连接,提示”ORA-03113 通信信道的文件结束“,那位能帮我看看大概是什么问题呢?