麻烦各位帮忙看看啊代码如下:
CoInitialize(NULL); _ConnectionPtr pConn(__uuidof(Connection));
_RecordsetPtr pRst(__uuidof(Recordset)); pConn->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\access\db1.mdb;Persist Security Info=False";
pConn->Open("","","",adConnectUnspecified);
pRst=pConn->Execute("select * from author",NULL,adCmdText);
while(!pRst->rsEOF)
{
((CListBox*)GetDlgItem(IDC_LIST1))->AddString(
(_bstr_t)pRst->GetCollect("jk"));
pRst->MoveNext();
}
pRst->Close();
pConn->Close();
pRst.Release();
pConn.Release(); CoUninitialize();
编译通过,但执行出错abnormal program termination
CoInitialize(NULL); _ConnectionPtr pConn(__uuidof(Connection));
_RecordsetPtr pRst(__uuidof(Recordset)); pConn->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\access\db1.mdb;Persist Security Info=False";
pConn->Open("","","",adConnectUnspecified);
pRst=pConn->Execute("select * from author",NULL,adCmdText);
while(!pRst->rsEOF)
{
((CListBox*)GetDlgItem(IDC_LIST1))->AddString(
(_bstr_t)pRst->GetCollect("jk"));
pRst->MoveNext();
}
pRst->Close();
pConn->Close();
pRst.Release();
pConn.Release(); CoUninitialize();
编译通过,但执行出错abnormal program termination
改成
D:\\access\\db1.mdb
试试
pConn.Release();
pRst->Close();
pConn->Close();
顺序反了吧.
改成如下形式试试(未在本人机器上测试过)
ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\access\db1.mdb;Persist Security Info=False";
pConn->Open(ConnectionString,"","",adConnectUnspecified);
改为
pConn->Open("","","",adModeUnknown); 试试
这个路径,肯定不行的!D:\\access\\db1.mdb
用这样:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\access\\db1.mdb;Persist Security Info=False;Jet OLEDB:DataBase Password=''
另外,打开access,一般是这样:pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\access\\db1.mdb;Persist Security Info=False;Jet OLEDB:DataBase Password=''","","",adModeUnknown);
这样,不设置ConnectionString了!
http://download.csdn.net/source/1070271
你下载下来看看!
pRst.Release();
pConn.Release();
同意楼上的观点。
如果还是有问题的话,看下
((CListBox*)GetDlgItem(IDC_LIST1))->AddString(
(_bstr_t)pRst->GetCollect("jk"));
pRst->MoveNext();
}
这里字段'jk'类型 用_bstr_t来转化对不?
String m_csMBOwnerTEL = pRst->GetCollect("jk").bstrVal;//前提是你的jk字段属于字符串型的
这里如何没有搞对,很容易引起abnormal program termination。我曾经很有体会遇到过。
建议你设置一个MessageBox()提示来调试下你的abnormal program termination出现在那个语句的前后,进而排除错误,找到答案!祝你好运。