访问数据库出现"未指定的错误"
在对话框点击"查看用户信息"按钮时触发下列代码,但是出现"未指定的错误".数据库是用的本地服务器,也打开了.新建的数据库,只是简单设置过表和视图,并且添加了一些内容.请教是怎么回事??
void CRecordsetDlg::OnButton1()
{
// 初始化OLE/COM库环境
::CoInitialize(NULL);
try
{
// 创建Connection对象
m_pConnection.CreateInstance("ADODB.Connection");
// 设置连接字符串,必须是BSTR型或者_bstr_t类型
_bstr_t strConnect = "Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=userman;Data Source=localhost;";
m_pConnection->Open(strConnect,"","",adModeUnknown);
// 判断连接状态是否为连接
if(m_pConnection->State == adStateOpen)
{
m_pRecordset.CreateInstance(__uuidof(Recordset));
_bstr_t vSQL;
vSQL = "SELECT * FROM Users";
m_pRecordset->Open(vSQL, m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
for(m_pRecordset->MoveFirst(); !m_pRecordset->adoEOF; m_pRecordset->MoveNext())
{
CString username, userpwd;
username = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("UserName");
userpwd = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("UserPwd");
CString msg;
msg.Format("用户名:%s;密码:%s", username, userpwd);
MessageBox(msg);
}
}
else
MessageBox("断开连接");
// 关闭连接
m_pConnection->Close();
}
// 捕捉异常
catch(_com_error e)
{
// 显示错误信息
AfxMessageBox(e.ErrorMessage());
}
}
void CRecordsetDlg::OnButton1()
{
// 初始化OLE/COM库环境
::CoInitialize(NULL);
try
{
// 创建Connection对象
m_pConnection.CreateInstance("ADODB.Connection");
// 设置连接字符串,必须是BSTR型或者_bstr_t类型
_bstr_t strConnect = "Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=userman;Data Source=localhost;";
m_pConnection->Open(strConnect,"","",adModeUnknown);
// 判断连接状态是否为连接
if(m_pConnection->State == adStateOpen)
{
m_pRecordset.CreateInstance(__uuidof(Recordset));
_bstr_t vSQL;
vSQL = "SELECT * FROM Users";
m_pRecordset->Open(vSQL, m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
for(m_pRecordset->MoveFirst(); !m_pRecordset->adoEOF; m_pRecordset->MoveNext())
{
CString username, userpwd;
username = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("UserName");
userpwd = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("UserPwd");
CString msg;
msg.Format("用户名:%s;密码:%s", username, userpwd);
MessageBox(msg);
}
}
else
MessageBox("断开连接");
// 关闭连接
m_pConnection->Close();
}
// 捕捉异常
catch(_com_error e)
{
// 显示错误信息
AfxMessageBox(e.ErrorMessage());
}
}