我使用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;

}
但总是显示查询失败,弄了很久,不知道为什么,请教各位大侠帮忙一下