ADO在VC的MFC下连接数据库并插入数据

1,ADO连接数据库

一般不用ODBC连接数据库,太古老了,主流用ADO连接数据库。

连接步骤:

1需要先安装SQL SEVER2008。

启动运行服务器SQL SEVER(MSSQLSERVER)启动。


登录SQL SEVER


建表字段:


上面这些都是在SQL SEVER上的操作。

下面这些都是在VC6.0中的操作。

1    在stdafx.h头文件中插入。

#import "c:/program files/common files/system/ado/msado15.dll"   no_namespace  rename ("EOF", "adoEOF")

2.在dlg.h下面添加如下变量。

_ConnectionPtr  m_pConnection; //注意:是个指针变量
_ConnectionPtr m_DataList;
_RecordsetPtr  m_pRecordset;

3然后再初始化函数中添加,连接数据库代码。

 HRESULT hr;
CoInitialize(NULL);
CString strSQL;
     //HRESULT hr;


    try
    {    
        hr=m_pConnection.CreateInstance(__uuidof(Connection));
        m_pConnection->CursorLocation=adUseClient;
        strSQL="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=biao;Data Source=4ILR3CQDRIFF213";    
        if(SUCCEEDED(hr))
        {
            hr=m_pConnection->Open(_bstr_t(strSQL),"","",-1); 
AfxMessageBox("连接数据库成功");///显示错误信息
        }
    }
    catch(_com_error e)///捕捉异常
    {
        CString errormessage;
        errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
        AfxMessageBox(errormessage);///显示错误信息
       // return FALSE;
    } 

4然后在插入按钮下添加如下代码:

UpdateData(TRUE);
if(m_name.IsEmpty())
{
MessageBox("基础信息不能为空!");
return;
}
CString sql="select * from data";
CString str;
// str.Format("%d",m_name);
str.Format("%d",m_age);
// m_pRecordset->Open(_bstr_t(sql),m_pConnection.GetInterfacePtr(),
// adOpenDynamic,adLockOptimistic,adCmdText); //执行SQL得到记录集


  sql = ("insert into data(ID, DATA) values('"+m_name+"',"+m_age+")") ;  //添加变量到数据库,,,重点。
   try
   {
m_pConnection->Execute((_bstr_t)sql,NULL, adCmdText);
   }
   catch(_com_error e)
   {
  //CString errormessage;
       // errormessage.Format("失败!\r\n错误信息:%s",e.ErrorMessage());
        AfxMessageBox("");///显示错误信息
   }

catch(...)
{
MessageBox("操作失败!");
return;
}
MessageBox("添加成功!");


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值