頭文件
database.h文章來源:http://www.zghlxwxcb.cn/news/detail-574906.html
#pragma once
// 說明:#import的這個(gè)路徑,windows系統(tǒng)里面自帶有ado的動態(tài)庫。
//不同的操作系統(tǒng)可能msado15.dll這個(gè)庫的名字不一樣,這里以windows10為例,我這里是msado15.dll
#import "C:\Program Files\Common Files\System\ado\msado15.dll" \
rename("EOF", "adoEOF"), rename("BOF", "adoBOF")
// 忽略警告
//#pragma warning(default:4146)
//#include "stdafx.h"
#include <tchar.h>
#include<iostream>
#include <string>
using namespace std;
using namespace ADODB;
//定義數(shù)據(jù)庫連接類
class ADOConn
{
public:
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;
public:
ADOConn();
virtual ~ADOConn() {};
void OnInitADOConn();//初始化連接
void ExecuteSQL(_bstr_t bstrSQL);//執(zhí)行SQL語句
};
cpp文件文章來源地址http://www.zghlxwxcb.cn/news/detail-574906.html
#include <iostream>
#include "database.h"
//構(gòu)造函數(shù)定義
ADOConn::ADOConn()
{
CoInitialize(NULL); //初始化必不可少
HRESULT hr = m_pConnection.CreateInstance(_uuidof(Connection));
if (FAILED(hr))
cout << "_ConnectionPtr對象指針實(shí)例化失?。。?!" << endl;
}
//初始化連接函數(shù)定義
void ADOConn::OnInitADOConn()
{
try
{ //在COM接口中,參數(shù)若為字符串, 一定要用BSTR
_bstr_t con_bstr = "Driver={sql server};server=192.168.0.151,1433;uid=sa;pwd=3edc9ijn~;datsbase=test";
if (m_pConnection->State)
m_pConnection->Close();
m_pConnection->Open(con_bstr, "","", adModeUnknown);// adModeUnknown 缺省,當(dāng)前的許可權(quán)未設(shè)置
}
catch (_com_error& e)
{
std::cout << "連接異常" << std::endl;
std::cout << e.Description() << std::endl;
}
}
//執(zhí)行SQL語句函數(shù)定義
void ADOConn::ExecuteSQL(_bstr_t bstrSQL)
{
try
{
//你的ADO代碼
m_pRecordset = m_pConnection->Execute(bstrSQL, NULL, adCmdText);
}
catch (_com_error& e)
{
cout << e.Description();
}
}
int main(int argc, _TCHAR* argv[])
{
ADOConn con;
con.OnInitADOConn();
//float x = 12.3f;
//float y = 34.5f;
//float r = 1.1f;
//char* data = new char[255];
//sprintf_s(data,sizeof(data) ,"insert into DB_points.dbo.tb_location(X,Y,R) values(%f,%f,%f)", x, y, r);//將SQL語句存放到data
//string str = data;
//_bstr_t strSql = str.c_str();//string類型轉(zhuǎn)化為_bstr_t類型
_bstr_t strSql = "INSERT INTO [test].[dbo].[user](userName,passWord,realName,isActive) values('liu','2345','韓',1)";
con.ExecuteSQL(strSql);
//delete[]data;//釋放內(nèi)存
con.m_pConnection->Close();
::CoUninitialize();
system("pause");
return 0;
}
到了這里,關(guān)于ado庫——連接sql server數(shù)據(jù)庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!