与数据库连接出现的大问题

hostzhenna 2010-08-06 09:45:53
我使用ADO方式连接数据库sql server 2005,但是总是数据更新不了
首先软件已启动我就调用链接数据库的代码
bool CConToManageSys::OnConnectDatabase(void)
{
HRESULT hr;
//_ConnectionPtr m_pConnection;
/*if(!AfxOleInit())//AfxOleInit()是封装了OleInitialize()来初始化com组件
{ //不能使用俩次
AfxMessageBox((LPCTSTR)"COM组件初始化错误",0,0);//
return false;
}
else*/
{
try
{
hr=m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
m_pConnection->ConnectionString="Provider=SQLOLEDB; Data Source=127.0.0.1; Initial Catalog=DB_Car; User ID=sa; Password=123456";
hr=m_pConnection->Open("","","",-1);
// MessageBox(_T("数据库连接成功"));
// hr = m_pConnection->Open( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb ", " ", " ",adModeUnknown);
///连接数据库 ///上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,需要改为:Provider=Microsoft.Jet.OLEDB.3.51;
}
else
{
return false;
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format( _T("连接数据库失败!\r\n错误信息:%s "),e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
return false;
}
return true;
}
}

然后进入界面中需要把数据库中的数据更新到客户端中,代码如下
try
{
_variant_t RecordsAffected;
_bstr_t sno, sname,sage;
mysql.m_pRecordset = mysql.m_pConnection->Execute("select * from store",&RecordsAffected,adCmdText);
while(!mysql.m_pRecordset->adoEOF)
{//获取表中信息

mysql.m_pRecordset->MoveNext();
}
// AfxMessageBox("查询成功!");
}catch (_com_error e)
{
CString errormessage;
errormessage.Format(_T("查询失败!\r\n错误信息:%s"),e.ErrorMessage());
AfxMessageBox(errormessage);
return true;

}

但总是显示查询失败,弄了很久,不知道为什么,请教各位大侠帮忙一下
...全文
69 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hostzhenna 2010-08-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xys_777 的回复:]
hr=m_pConnection->Open(null,null,null,-1);

试试
[/Quote]
前面链接是没有问题,但是后面更新不了
永生天地 2010-08-06
  • 打赏
  • 举报
回复
hr=m_pConnection->Open(null,null,null,-1);

试试

22,298

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧