16,471
社区成员
发帖
与我相关
我的任务
分享
#include "DBManage.h"
DBManage::DBManage(void)
{
CoInitialize(NULL);
//string m_StrConnecion = "Provider=SQLOLEDB; Server=192.168.1.101;Database=test; uid=sa; pwd=sin3002;";
_bstr_t m_StrConnecion("Provider=SQLOLEDB; Server=192.168.1.101;Database=test; uid=sa; pwd=sin3002;");
connection.CreateInstance(__uuidof(Connection));
//设置服务器端游标
connection->CursorLocation = adUseServer;
connection->Open(m_StrConnecion, "","",adOpenUnspecified);
}
DBManage::~DBManage(void)
{
if(connection)
{
connection->Close();
connection = NULL;
}
CoUninitialize();
}
int DBManage::executeUpdate(string sql)
{
if(!connection)
{
return -1;
}
_variant_t RecordsAffected;
connection->Execute(sql.c_str(),&RecordsAffected,adCmdText);
RecordsAffected.ChangeType(VT_I4, NULL);
int nRows = V_I4(&RecordsAffected);
return nRows;
}
#include "stdafx.h"
#include <iostream>
#include "DBManage.h"
#include <process.h>
using namespace std;
unsigned _stdcall AddUserProc(void *Param){
for(int i=0; i<1000000; i++)
{
DBManage* db = new DBManage();
string strSql = "insert into t_user (user_name, user_pwd) values ('name', 'pwd')";
db->executeUpdate(strSql);
delete db;
db = NULL;
}
return 0;
}
int _tmain()
{
UINT Thrdaddr;
HANDLE h;
h = (HANDLE)::_beginthreadex( NULL, 0, AddUserProc, 0, 0, &Thrdaddr);
::WaitForSingleObject(h, 5000000L);
::CloseHandle(h);
cout<<"操作结束-----------------------------------"<<endl;
system("PAUSE");
return 0;
}
DBManage* db = new DBManage();
delete db;
db = NULL;
#pragma once
#include <string>
#include <windows.h>
#import "msado15.dll" no_namespace rename("EOF","adoEOF")
using namespace std;
class DBManage
{
public:
DBManage(void);
~DBManage(void);
private:
_ConnectionPtr connection;
public:
/*
描述:
执行更新语句,返回受影响的记录数
参数:
sql 要操作的SQL语句
返回值:
操作影响的记录数
*/
int executeUpdate(string sql);
};
#include "DBManage.h"
DBManage::DBManage(void)
{
CoInitialize(NULL);
_bstr_t m_StrConnecion("Provider=SQLOLEDB; Server=192.168.1.101;Database=test; uid=sa; pwd=sin3002;");
connection.CreateInstance(__uuidof(Connection));
connection->CursorLocation = adUseServer;
connection->Open(m_StrConnecion, "","",adOpenUnspecified);
}
DBManage::~DBManage(void)
{
if(connection)
{
connection->Close();
connection = NULL;
}
CoUninitialize();
}
int DBManage::executeUpdate(string sql)
{
if(!connection)
{
return -1;
}
_variant_t RecordsAffected;
connection->Execute(sql.c_str(),&RecordsAffected,adCmdText);
RecordsAffected.ChangeType(VT_I4, NULL);
int nRows = V_I4(&RecordsAffected);
return nRows;
}
#include "stdafx.h"
#include <iostream>
#include "DBManage.h"
#include <process.h>
using namespace std;
unsigned _stdcall AddUserProc(void *Param){
for(int i=0; i<1000000; i++)
{
DBManage* db = new DBManage();
string strSql = "insert into t_user (user_name, user_pwd) values ('name', 'pwd')";
db->executeUpdate(strSql);
delete db;
db = NULL;
::Sleep(1L);
}
return 0;
}
int _tmain()
{
UINT Thrdaddr;
HANDLE h;
h = (HANDLE)::_beginthreadex( NULL, 0, AddUserProc, 0, 0, &Thrdaddr);
::WaitForSingleObject(h, 5000000L);
::CloseHandle(h);
cout<<"操作结束-----------------------------------"<<endl;
system("PAUSE");
return 0;
}
unsigned _stdcall AddUserProc(void *Param){
for(int i=0; i<10000; i++)
{
DBManage* db = new DBManage();
string strSql = "insert into t_user (user_name, user_pwd) values ('name', 'pwd')";
db->executeUpdate(strSql);
delete db;
db = NULL;
::Sleep(100L);
}
return 0;
}
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF")
unsigned _stdcall AddUserProc(void *Param){
for(int i=0; i<10000; i++)
{
DBManage* db = new DBManage();
string strSql = "insert into t_user (user_name, user_pwd) values ('name', 'pwd')";
db->executeUpdate(strSql);
delete db;
db = NULL;
}
return 0;
}
#pragma once
#include <string>
#include <windows.h>
#import "msado15.dll" no_namespace rename("EOF","adoEOF")
using namespace std;
class DBManage
{
public:
DBManage(void);
~DBManage(void);
private:
_ConnectionPtr connection;
public:
/*
描述:
执行更新语句,返回受影响的记录数
参数:
sql 要操作的SQL语句
返回值:
操作影响的记录数
*/
int executeUpdate(string sql);
};