那位高手指教一下这样行吗?
BOOL CTcsDlg::OnInitDialog()

//在这里面添加连接数据表的代码怎么写????假设数据表名:车辆出入信息,数据库名:CarMS

void CTcsDlg::OnBrowse() 
{
void CCarMSDlg::OnButtonBrower() 
{
// TODO: Add your control notification handler code here
m_display.DeleteAllItems();
     _variant_t var;
CString strTime,
        strState;
            strCartype;
strCarnum;
            strUsernum;
strTime =strState ==strCartype=strCarnum=strUsernum= ""; try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
return;
} // 读入库中各字段并加入列表框中
while(!m_pRecordset->adoEOF)
{
var = m_pRecordset->GetCollect("时间");
if(var.vt != VT_NULL)
strTime = (LPCSTR)_bstr_t(var); var = m_pRecordset->GetCollect("状态");
if(var.vt!=VT_NULL)
strState = (LPCSTR)_bstr_t(var);
                           
                           var = m_pRecordset->GetCollect("车型");
if(var.vt != VT_NULL)
strCartype = (LPCSTR)_bstr_t(var);                          var = m_pRecordset->GetCollect("车牌号");
if(var.vt != VT_NULL)
strCarnum = (LPCSTR)_bstr_t(var);                          var = m_pRecordset->GetCollect("车主代码");
if(var.vt != VT_NULL)
strUsernum = (LPCSTR)_bstr_t(var); strTime.TrimRight();
strUsernum.TrimLeft(); int nCount = m_display.GetItemCount();
int nItem = m_display.InsertItem(nCount,_T("")); m_display.SetItemText(nItem,0,strTime);
m_display.SetItemText(nItem,1,strState);
            m_display.SetItemText(nItem,2,strCartype);
            m_display.SetItemText(nItem,3,strCarnum);
            m_display.SetItemText(nItem,4,strUsernum ); m_pRecordset->MoveNext();
} // 默认列表指向第一项,同时移动记录指针并显示
       // m_list.SetCurSel(0);
      // OnSelchangeListaccess();
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}

}

解决方案 »

  1.   

    以上的程序基本呢,没问题,最好自己运行一下。
    连接数据库,参考
    http://www.pconline.com.cn/pcedu/empolder/gj/vc/0507/653859.html
    呵呵,楼主不会用google之类的?
      

  2.   

    简单的数据用datagrid
    数据较多的话用报表
    方便也不容易出错
      

  3.   

    我在BOOL CTcsDlg::OnInitDialog()

    m_pRecordset.CreateInstance(__uuidof(Recordset));    try
    {
       m_pRecordset->Open("SELECT * FROM CarMS",                // 查询DemoTable表中所有字段
    theApp.m_pConnection.GetInterfacePtr(),  // 获取库接库的IDispatch指针
    adOpenDynamic,
    adLockOptimistic,
    adCmdText);
    }
    catch(_com_error *e)
    {
    AfxMessageBox(e->ErrorMessage());
    }
    }添加以上代码后编译出现这样的问题?怎么改?D:\CarMS\CarMSDlg.cpp(141) : error C2065: 'theApp' : undeclared identifier
    D:\CarMS\CarMSDlg.cpp(141) : error C2228: left of '.m_pConnection' must have class/struct/union type
    D:\CarMS\CarMSDlg.cpp(141) : error C2228: left of '.GetInterfacePtr' must have class/struct/union type
    D:\CarMS\CarMSDlg.cpp(239) : error C2018: unknown character '0xa1'
    D:\CarMS\CarMSDlg.cpp(239) : error C2018: unknown character '0xa1'
    D:\CarMS\CarMSDlg.cpp(239) : error C2018: unknown character '0xa1'
    D:\CarMS\CarMSDlg.cpp(239) : error C2018: unknown character '0xa1'
    D:\CarMS\CarMSDlg.cpp(246) : warning C4800: 'const char *' : forcing value to bool 'true' or 'false' (performance warning)
    D:\CarMS\CarMSDlg.cpp(246) : error C2106: '=' : left operand must be l-value
    Error executing cl.exe.
      

  4.   

    楼主的程序是直接从网上拷贝的?
    '0xa1'好像是全角的空格。删了就可以了。
    theApp.m_pConnection.GetInterfacePtr()这句要看你的m_pConnection的定义位置才好说怎么改。
      

  5.   

    我找到那个错误('0xa1'好像是全角的空格)一改就少了四个编译错误,谢谢啊!其他还有错误,希望指教."m_pConnection的定义位置才好说怎么改。"我定义在CarMSDlg.h中
    public:
    // 定义ADO连接、命令、记录集变量指针
    _ConnectionPtr m_pConnection;
    _CommandPtr m_pCommand;
    _RecordsetPtr m_pRecordset;
    那怎么改啊?
      

  6.   

    theApp.m_pConnection.GetInterfacePtr()
    ---〉m_pConnection.GetInterfacePtr()