我在程式里用到动态绑定,可是程式一运行到 res.bind()函数就出错,若是省去这一条语句,可以正常浏览数据 ,干问怎么解决?

解决方案 »

  1.   

    给 getinterface()函数有关系!!
      

  2.   

    程式如下:if(p_conn.Open(_T("Microsoft.Jet.OLEDB.4.0"), "d:\\temp\\connect.mdb")!=S_OK)
    {
    AfxMessageBox("Unable conect source");
    }
    if(m_session.Open(p_conn)!=S_OK)
        {
    AfxMessageBox("Unable session source!");
    } if(m_session1.Open(p_conn)!=S_OK)
        {
    AfxMessageBox("Unable session1 source!");
    } USES_CONVERSION;
    static int j=0;
    CColumns* pColumns      = NULL;
    struct MYBIND *pBind;
    ASSERT(&m_session);
    pColumns = new CColumns;
    if (pColumns->Open(m_session, NULL, NULL, "1") != S_OK)
    {
    MessageBox("pcolumns err");
    } ULONG ulColumns = 0;
    while (pColumns->MoveNext() == S_OK)
    {
    ulColumns++;
    } delete pColumns;
    pColumns = NULL;
    long m_ulFields = ulColumns;
    pBind = new MYBIND[m_ulFields]; //创建存取器
    m_comm.CreateAccessor(m_ulFields, pBind, sizeof(MYBIND)*m_ulFields);
    for (ULONG l=0; l<m_ulFields; l++)
    m_comm.AddBindEntry(l+1, DBTYPE_STR, sizeof(TCHAR)*100, &pBind[l].szValue,
    NULL, &pBind[l].dwStatus);

    if(m_comm.Bind()!=S_OK) MessageBox("Bind err!");
      

  3.   

    你仔细看看DBViewer的源码!