如题!没有记录时如何能够显示页眉文本!(列名称)

解决方案 »

  1.   

    just assign a void recordset to it.
    void CDatagdDlg::OnOK() 
    {
      //notes : call AfxOleInit in CXXApp::InitInstance() 
     // I also add a line in stdafx.h 
     //#import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "EndOfFile")
       try
       {
          _ConnectionPtr pConn("ADODB.Connection");
          _RecordsetPtr  pRst("ADODB.Recordset");
          pConn->Open("Provider=sqloledb;Data Source=Dell1;"
             "Initial Catalog=testdb;User Id=sa;Password=;",
             "", "", adConnectUnspecified);
          pRst->Open(
             "select * from table1 where 1=0", // this SQL string can only return a recordset without record
             _variant_t((IDispatch *) pConn, true),
             adOpenStatic,
             adLockReadOnly,
             adCmdText);
       //CDataGrid m_datagrid; is a member of CDatagdDlg.
      m_datagrid.SetRefDataSource(pRst.Detach());
       }
       catch (_com_error &e)
       {
       char mybuf[10240];
          wsprintf(mybuf,"Description = '%s'\n", (char*) e.Description());
       AfxMessageBox(mybuf);
       }
    }