C++访问sql server2008

环境: win7 SqlServer2008

前提:SqlServer中设置用户和权限  配置ODBC

功能:向数据库中的dbo.stuinfo表插入数据,并将表中所有数据显示出来

#include "stdafx.h"
#include <string>
#include <iostream>
  
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "EndOfFile")   
using namespace std;  
  
int _tmain(int argc, _TCHAR* argv[])  
{  
    ::CoInitialize(NULL);   
    _ConnectionPtr m_pConnection=NULL;  
    _RecordsetPtr m_pRecordset=NULL;  
    m_pConnection.CreateInstance(__uuidof(Connection));  
    m_pRecordset.CreateInstance(__uuidof(Recordset));  
      
    _bstr_t strConnect ="DSN=Sql_test;Database=studentinof;UID=SQL_RW;PWD=123456;";       
    _bstr_t bstrSQL("select * from dbo.stuinfo");  
	char *insert="INSERT INTO [studentinof].[dbo].[stuinfo]([学号] ,[姓名],[性别] ,[民族] ,[班级],[专业]) VALUES('1003',N'张单',N'男',N'回族','2',N'经济')";

	_variant_t number,name,sex,nation,grade,major;  
	string str,str1,str2,str3,str4,str5;
    try  
    {  
        m_pConnection->Open(strConnect, "","", adModeUnknown);//连接数据库

		m_pConnection->Execute(insert,NULL,1);//数据库插入语句
 
        m_pRecordset->Open(bstrSQL, m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);  
        while (!m_pRecordset->EndOfFile)  
        {  
            number = m_pRecordset->GetCollect("学号");  
			name = m_pRecordset->GetCollect("姓名"); 
            sex = m_pRecordset->GetCollect("性别");  
			nation = m_pRecordset->GetCollect("民族"); 
			grade = m_pRecordset->GetCollect("班级"); 
			major = m_pRecordset->GetCollect("专业"); 
              
            str = (_bstr_t)number.bstrVal;  
            str1 = (_bstr_t)name.bstrVal; 
			str2 = (_bstr_t)sex.bstrVal;  
            str3 = (_bstr_t)nation.bstrVal; 
			str4 = (_bstr_t)grade.bstrVal;  
            str5 = (_bstr_t)major.bstrVal; 

			cout<<str<<" "<<str1<<" "<<str2<<" "<<str3<<" "<<str4<<" "<<str5<<" "<<endl;
            m_pRecordset->MoveNext();  
        }  
        m_pRecordset->Close();  
    }  
    catch (_com_error e)  
    {  
        cout<<"error!"<<endl;
		return 0;  
    }  
  


    if(m_pConnection->State)  
    {  
        m_pConnection->Close();  
    }  
    ::CoUninitialize();  
    return 0;  
}  


 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值