
为什么MFC通过ADO连接MySQL失败啊?
#import"c:\programfiles\commonfiles\system\ado\msado15.dll"no_namespacerename("EOF","...
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","rsEOF")
CoInitialize(NULL);
_ConnectionPtr pConn(_uuidof(Connection));
_RecordsetPtr pRst(_uuidof(Recordset));
pConn->ConnectionString = "Provider=SQLOLEDB.1;Password=root;Persist SecurityInfo=True;User ID=root;Initial Catalog=pubs";
pConn->Open("", "", "", adConnectUnspecified);
pRst = pConn->Execute("select * from authors", NULL, adCmdText);
while (!pRst->rsEOF)
{
((CListBox*)GetDlgItem(IDC_LIST1))->AddString((_bstr_t)pRst->GetCollect("au_lname"));
pRst->MoveNext();
}
pRst->Close();
pConn->Close();
pRst.Release();
pConn.Release();
CoUninitialize();
为什么程序老式崩了,还有啊,ConnectingString里面的Provider是怎么知道的,我这个例子是从书上抄下来的,通过调试,错误应该是在pConn->Open("", "", "", adConnectUnspecified);这个地方 展开
CoInitialize(NULL);
_ConnectionPtr pConn(_uuidof(Connection));
_RecordsetPtr pRst(_uuidof(Recordset));
pConn->ConnectionString = "Provider=SQLOLEDB.1;Password=root;Persist SecurityInfo=True;User ID=root;Initial Catalog=pubs";
pConn->Open("", "", "", adConnectUnspecified);
pRst = pConn->Execute("select * from authors", NULL, adCmdText);
while (!pRst->rsEOF)
{
((CListBox*)GetDlgItem(IDC_LIST1))->AddString((_bstr_t)pRst->GetCollect("au_lname"));
pRst->MoveNext();
}
pRst->Close();
pConn->Close();
pRst.Release();
pConn.Release();
CoUninitialize();
为什么程序老式崩了,还有啊,ConnectingString里面的Provider是怎么知道的,我这个例子是从书上抄下来的,通过调试,错误应该是在pConn->Open("", "", "", adConnectUnspecified);这个地方 展开
2016-05-28
展开全部
先导入ado库
#pragma warning(disable:4146)
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","ENDOFFILE")
BOOL CADODlg::GetData()
{
CoInitialize(NULL);
try
{
_ConnectionPtr pConn("ADODB.Connection");
_bstr_t Connection="Provider=Microsoft.Jet.OLEDB.4.0;"
"Data Source=H:\\LoginDemo.mdb;Persist Security Info=FALSE";
pConn->Open(Connection,"","",adConnectUnspecified);
_RecordsetPtr pRs("ADODB.Recordset");
CString strSQL;
strSQL.Format("select * from USERINFO");
pRs->Open(_variant_t(strSQL.GetBuffer(strSQL.GetLength())),_variant_t(pConn,true),adOpenStatic,
adLockOptimistic,adCmdText);
if(pRs->BOF)
{
pRs->Close();
pRs.Release();
pConn->Close();
pConn.Release();
return FALSE;
}
else
{
strcpy(m_username.GetBuffer(255),_bstr_t(pRs->GetCollect("USERNAME")));
strcpy(m_password.GetBuffer(255),_bstr_t(pRs->GetCollect("PASSWORD")));
UpdateData(FALSE);
pRs->Close();
pRs.Release();
pConn->Close();
pConn.Release();
return TRUE;
}
}
catch(_com_error &e)
{
CoUninitialize();
::AfxMessageBox(e.ErrorMessage());
return FALSE;
}
}
#pragma warning(disable:4146)
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","ENDOFFILE")
BOOL CADODlg::GetData()
{
CoInitialize(NULL);
try
{
_ConnectionPtr pConn("ADODB.Connection");
_bstr_t Connection="Provider=Microsoft.Jet.OLEDB.4.0;"
"Data Source=H:\\LoginDemo.mdb;Persist Security Info=FALSE";
pConn->Open(Connection,"","",adConnectUnspecified);
_RecordsetPtr pRs("ADODB.Recordset");
CString strSQL;
strSQL.Format("select * from USERINFO");
pRs->Open(_variant_t(strSQL.GetBuffer(strSQL.GetLength())),_variant_t(pConn,true),adOpenStatic,
adLockOptimistic,adCmdText);
if(pRs->BOF)
{
pRs->Close();
pRs.Release();
pConn->Close();
pConn.Release();
return FALSE;
}
else
{
strcpy(m_username.GetBuffer(255),_bstr_t(pRs->GetCollect("USERNAME")));
strcpy(m_password.GetBuffer(255),_bstr_t(pRs->GetCollect("PASSWORD")));
UpdateData(FALSE);
pRs->Close();
pRs.Release();
pConn->Close();
pConn.Release();
return TRUE;
}
}
catch(_com_error &e)
{
CoUninitialize();
::AfxMessageBox(e.ErrorMessage());
return FALSE;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询