{
::CoInitialize(NULL);//初始化com环境


HRESULT hr;
try
{
hr=m_pCon.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
m_pCon->ConnectionTimeout=3;
hr=m_pCon->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= opencard.mdb","","",adModeUnknown);
}
}
catch(_com_error e)
{
CString temp;
temp.Format("连接数据库错误信息:%s",e.ErrorMessage());
::MessageBox(NULL,temp,"提示信息",NULL);

}


m_pRecordSet.CreateInstance(__uuidof(Recordset));

CString sql;
int nItem=0;
sql.Format("select z_UserID,z_UserName,z_DoorEnadled,z_CardNO  from  z_w_Card , z_w_User where z_w_Card.z_CardID=z_w_User.z_CardID");
m_pRecordSet->Open((_bstr_t) sql,m_pCon.GetInterfacePtr(),  adOpenDynamic,adLockOptimistic,adCmdText);
m_list.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT|LVS_EX_ONECLICKACTIVATE|LVS_EX_CHECKBOXES);
m_list.InsertColumn(0,"编号",LVCFMT_LEFT,80);
m_list.InsertColumn(1,"姓名",LVCFMT_LEFT,80);
m_list.InsertColumn(2,"卡号",LVCFMT_LEFT,80);
m_list.InsertColumn(3,"考勤",LVCFMT_LEFT,80);
_bstr_t str;

while(m_pRecordSet->adoEOF==0)

{
 str = (_bstr_t)m_pRecordSet->GetCollect("z_UserID");
 m_list.InsertItem(nItem,"");
m_list.SetItemText(nItem,0,(char*)str);
m_pRecordSet->MoveNext();
}

}

解决方案 »

  1.   

    先看代码出错在哪里,sql语句是否正确
      

  2.   

    编译时没有错误的啊!只是运行时会Runtime error! This application has requested the runtime to terminate it in an unusual way.Please contact 
    the application's support team for more information. 
    出现一个这样的对话框,是为什么啊!
      

  3.   

    调试一下啊,Debug,看出错语句
      

  4.   

    m_pRecordSet->Open((_bstr_t) sql,m_pCon.GetInterfacePtr(),  adOpenDynamic,adLockOptimistic,adCmdText); 
    这个语句出错;出现一个对话框显示
    Unhandled exception in www.exe(KERNEL32.dll)我的Sql语句有错误吗!
      

  5.   

    应该是sql语句不对,打印一下sql,看是否正确
      

  6.   

    oyljerry 如何去打印呢!
    我的其他地方会出现错误码!
      

  7.   

    你把sql写到txt等文件,然后自己检查sql是否正确,或者把sql语句放到数据库中执行一下,就知道是否正确了
      

  8.   

    或者用MessageBox等显示出来
    ::MessageBox(NULL, sql, NULL, MB_OK);
      

  9.   

    你这个SELECT语句本身看不出什么毛病。你把它拿到查询分析器中执行以下,看看能否正确执行
      

  10.   

    看了看你的程序 。。SQL 连接没有错误。。去看一下SQL 查询语句吧。
      

  11.   

    select z_w_User.z_UserID,z_w_User.z_UserName,z_w_Card.z_DoorEnadled,z_w_Card.z_CardNO  from  z_w_Card , z_w_User where z_w_Card.z_CardID=z_w_User.z_CardID