现在的位置: 首页 > 综合 > 正文

c++通过存储过程访问数据库库(ado)

2018年02月12日 ⁄ 综合 ⁄ 共 2125字 ⁄ 字号 评论关闭

 _ConnectionPtr m_pConnection ;
 CString m_dbserver= "127.0.0.1";
 
 CString  m_initDb = "PhoneManage";
 CString  m_username = "sa";
 CString  m_passwd = "";
 CString strConnection = "Provider=SQLOLEDB.1;Data Source=" + m_dbserver +
  ";Initial Catalog=" + m_initDb  +
  ";User ID=" + m_username + "; PWD=" + m_passwd;
 //////////////////////////////////////////////////////////////////////////
 //连接SQL Server 数据库
 //////////////////////////////////////////////////////////////////////////
 try
 {
  HRESULT hr;  
  hr = m_pConnection.CreateInstance("ADODB.Connection");
  
  if(SUCCEEDED(hr))
  {
  
   hr = m_pConnection->Open((_bstr_t)strConnection,"","",-1);
   
    _CommandPtr    m_pCommand;
   m_pCommand.CreateInstance("ADODB.Command");
         m_pCommand->ActiveConnection = ConnectPtr;
         m_pCommand->CommandType = adCmdStoredProc;
         m_pCommand->CommandText=_bstr_t("p_insert_user");
          _ParameterPtr ptr1,ptr2,ptr3,ptr4,ptr5;
         ptr1=m_pCommand->CreateParameter("p_UserName",adVarChar,adParamInput,12,_variant_t(m_strName));
         m_pCommand->Parameters->Append(ptr1);
            ptr2=m_pCommand->CreateParameter("p_PassWord",adVarChar,adParamInput,6,_variant_t(m_strPSW));
         m_pCommand->Parameters->Append(ptr2);
         ptr3=m_pCommand->CreateParameter("p_UserCode",adVarChar,adParamInput,10,_variant_t(m_strCode));
         m_pCommand->Parameters->Append(ptr3);
         ptr4=m_pCommand->CreateParameter("p_UserNote",adVarChar,adParamInput,10,_variant_t(m_strNote));
         m_pCommand->Parameters->Append(ptr4);
         ptr5= m_pCommand->CreateParameter("p_Admin",adVarChar,adParamInput,40,_variant_t(strManager));
         m_pCommand->Parameters->Append(ptr5);
       m_pCommand->Execute(NULL,NULL,adCmdStoredProc);
  }
 }
 catch(_com_error *e)
 {
  AfxMessageBox(e->ErrorMessage());
  AfxMessageBox("数据库连接未成功!");
 }

 

 

存储过程简单为:

CREATE PROCEDURE  p_insert_user
   @p_UserName        char(12),
   @p_PassWord        char(6),
   @p_UserCode        char(10),
   @p_UserNote         char(10),
   @p_Admin               char(40)

 AS
begin
         insert into UserTable(UserName,PassWord,UserCode,UserNote,Admin)
                         values(@p_UserName,@p_PassWord,@p_UserCode,@p_UserNote,@p_Admin)
end
GO

抱歉!评论已关闭.