VC++连接SQLServer

VC++连接SQLServer

/*

*连接SQL

*/

void CMFCSQLDlg::OnButton3()

{

       // TODO: Add your control notification handler code here

       _ConnectionPtr   m_pConnection;

// 在应用程序的InitInstance函数里加入

      if(S_OK!=CoInitialize(NULL))  

      {  

         AfxMessageBox("初始化COM库错误!");

      }else

         {

            AfxMessageBox("初始化COM库成功!");

         }

//  连接数据库:  

HRESULT  hr; //返回结果变量

try  

{  

      hr=m_pConnection.CreateInstance("ADODB.Connection"); //创建Connection对象

      if(SUCCEEDED(hr))  

      {  

//hr=m_pConnection->Open("Provider=SQLOLEDB;Server=808644DA83B446C/SQLEXPRESS;Database=ChinabaseSQLServer;UserID=sa;pwd=123","","",adModeUnknown);   //;Integrated Security=SSPI

m_pConnection->Open("Provider=SQLOLEDB.1;Server=808644DA83B446C//SQLEXPRESS;DATABASE=ChinabaseSQLServer;UID=sa;PWD=123;","","",adModeUnknown);

MessageBox("连接SQL运行成功!","成功",MB_OK);

 

              _CommandPtr m_pCommand;

              _RecordsetPtr m_pRecordset;

              m_pCommand.CreateInstance("ADODB.Command");

 

              _variant_t vNULL;

              vNULL.vt = VT_ERROR;

              vNULL.scode = DISP_E_PARAMNOTFOUND;///定义为无参数

              m_pCommand->ActiveConnection = m_pConnection;///非常关键的一句,将建立的连接赋值给它

              m_pCommand->CommandText = "SELECT * FROM MTables order by tname";///命令字串

              m_pRecordset = m_pCommand->Execute(&vNULL,&vNULL,adCmdText);///执行命令,取得记录集

 

              m_pRecordset->MoveFirst();

              for(;!m_pRecordset->adoEOF;m_pRecordset->MoveNext())

              {

                      // printf(m_pRecordset->GetCollect(("myage")));

                     _variant_t  var;

                     var = m_pRecordset->GetCollect(("tname"));

                     if(var.vt!=VT_NULL)

                     {

                       //printf((LPCTSTR)_bstr_t(var));

                       AfxMessageBox((LPCTSTR)_bstr_t(var));

                     }

              }

      }

}

catch(_com_error   e)

{  

      CString   errorMsg;

      errorMsg.Format("连接数据库失败!/r/n错误信息:%s",e.ErrorMessage());

      MessageBox(errorMsg,"错误",MB_OK);

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值