VC++ ADO开发实践之七[3]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 zswzwy 的 blog

    sqlquery = "select authorname, title from authordb"
    set rs = myconnection.execute(sqlquery)%
    width=200
    title id
    size=1
    title
    "arial narrow" size=1
    "arial narrow" size=1
    3. 在visual c++中使用ado
    在visual c++中使用ado有多种方法,第一种方法是我们使用cocr
eateinstance函数创建ado对象,并得到对象的idispatch接口指针,然
后调用其invoke函数,用这种方法需要我们自己处理参数和返回值,ad
o提供了adoid.h和adoint.h头文件分别定义了ado对象的clsid和接口
id;第二种方法是利用#import编译指示符(在visual c++ 5.0及以后
的版本中可以使用),可以方便地使用ado对象;第三种方法是利用mfc(
microsoft foundation c lass)库提供的idispatch接口封装类coled
ispatchdriver创建和调用ado对象。
    下面的代码显示了在visual c++创建数据源连接的过程:
    guid connectionclsid;
    hresult hresult = ::clsidfromprogid(l"adodb.connection",
    &connectionclsid);
    if (failed(hresult))
    {
    ......
    }
    idispatch *pdispatch = null;
    hresult = cocreateinstance(connectionclsid, null,
    clsctx_server, iid_idispatch, (void **)&pdispatch);
    if (failed(hresult))
    {
    ......
    }
    coledispatchdriver driver;
    driver.attachdispatch(pdispatch, false);
    try
    {
    byte parms =vts_bstr;
    driver.invokehelper(0xa, dispatch_method,
    vt_empty, &hresult, parms,l"provider=sqloledb;
    user id=sa;password=;" l"initial catalog=leaves;
    data source=nettestserver");
    }
    end_try
    driver.detachdispatch();
    ......
    4. 在java中使用ado
    在java程序中可以引入adodb类,然后声明ado变量,也可以使用ne
w操作符创建ado变量。下面的代码说明了如何在java中打开与数据源
连接:
    import msado10.*;
    _connection m_conn = null;
    _recordset m_rs = null;
    _command m_cmd = null;
    void openconnection()
    {
    string s;
    properties properties;
    try
    {
    properties = m_conn.getproperties();
    m_conn.open("dsn=mysamples", "sa", "");
    properties = null;
    }
    catch (exception e)
    { system.out.println("\nunable to make a connection \n")
;
    }

本文关键:ADO
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top