大家好!要用什么控件连接数据源来绑定OLE控件啊?我用Adodc老是说不行,我用的数据库是MS SQL!

解决方案 »

  1.   

    我也遇到此问题,ole只支持data控件的绑定,不支持adodc1控件的绑定,唉,微软这个问题都忽略了.你只有用ole.savetofile把它存为二进制文件后再存入数据库,从数据库读出时,先用stream.savetofile生成临时文件,再用ole.readfromfile把文件读出到ole控件(ole.createembed filename).其实如果能绑定的话多方便,现在却要走这么多弯路.
      

  2.   

    private sub OleSaveToDB(byval Filename as string)'从OLE拷入到数据库,因为是用ole,所以必须要用
    dim filenum as long'一个临时文件来存储,否则就就直接用stream对象存入到数据库
    dim filesize as long
    dim stm as new adodb.stream
    filesize=Filelen(filename)
    filenum=Freefile
    open Filename  For binary as #filenum
    ole1.savetofile filename'用ole保存到一个临时文件
    close #filenum
    '*****************
    with stm
    .type=adtypebinary
    .open
    .loadfromfile(filename)
    adodc1.recordset.fields("picture或任何文件如:doc;xls等").appendchunk stm.read(filesize)
    adodc1.update
    .close
    set stm=nothing
    end with
    end subprivate sub ReadFromDB(byval filename as string)'从数据库中读出
    with stm
    .type=adtypebinary
    .open
    .write adodc1.recordset.fields("picture或任何文件如:doc;xls等").value
    .savetofile filename
    ole1.readfromfile filename
    set stm=nothing
    end with
    end sub
    给我加分哈
      

  3.   

    filenum=Freefile这一句是什么意思啊?
      

  4.   

    其实这些也是我最近几天才得出来的.
    分加得再多也不嫌多.不要去看有些书,简直就是浪费眼睛.
    纠正一下.
    private sub ReadFromDB(byval filename as string)'从数据库中读出
    with stm
    .type=adtypebinary
    .open
    .write adodc1.recordset.fields("picture或任何文件如:doc;xls等").value
    .savetofile filename
    ole1.readfromfile filename'读到ole控件
    (ole.createembed filename读出来为二进制,必须用ole1.readfromfile才能正确读出)
    顺便问一下,你能不能问一下如何打印ole嵌入得文档)
    .close
    set stm=nothing
    end with
    end sub
    给我加分哈
      

  5.   

    filenum=Freefile这一句是什么意思啊?
    你是新手吧
    Freefile是一个没有参数的函数
    返回空闲的文件号
    多看MSDN
      

  6.   

    哦,这样啊不是啦,我是新手没错我原来不用这个我原来是用CB,我这没有MSDN我没有安装的文件,下又每次都下不到完整的!你有的话发给我好啦,我的QQ是95224679传给我最好啦~_~
      

  7.   

    我用MSN 我的msn为:[email protected]
      

  8.   

    DATA控件用ODBC数据源:
    connect 填写 ODBC;DSN=ODBC名;UID=sa;PWD=xxxxxx;Database=数据库名;
    (DATA控件中DATABASENAME空着)
      

  9.   

    大头,你说的方法你有用过吗?要是用过的话那就是太好啦,这样的话就好多啦,不用那麻烦,如果你用过的话发个例子给我,[email protected],谢谢!
      

  10.   

    zjsvbnet那个调用的时候文件类型要是什么文件类型我用DWG格式的文件,提示文件类型不匹配。
      

  11.   

    //////大头,你说的方法你有用过吗?要是用过的话那就是太好啦/////
    用过!
    不用代码!
    手工建ODBC数据源会吧!
    DATA的属性中按上面的设置好,就可在DATA控件中的RecordSource属性中拉出表来.
      

  12.   

    不好意思我有点笨啦大头!
    我是这样设置DATA的属性的:
    .deafauttype     1--使用ODBC
    .connect     DSN=dzkbhxt  /ODBC名
    .databasename   dzkbhxt   /数据库名
    .recordsource   ydxmb   /我要连的表名
    你上面说的是不是说要这样设啊!