转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> Sql Server >> 正文
同时开21个进程对SQL进行速度测试         

同时开21个进程对SQL进行速度测试

作者:闵涛 文章来源:闵涛的学习笔记 点击数:3496 更新时间:2007/11/14 13:06:22
p;Connected.setter(&CAdoConnection::SetConnected);
 Connected.getter(&CAdoConnection::GetConnected);
 // 创建一个连接实例
 try {
  HRESULT hr = m_ptrConn.CreateInstance(__uuidof(Connection));
  if (FAILED(hr)) {
   CString errormessage("创建实例失败!");
   AfxMessageBox(errormessage);
   throw;
  }
 }
 catch(_com_error & error) {
  CString errormessage;
  errormessage.Format("创建实例失败!\r\n错误信息:%s", error.ErrorMessage());
  AfxMessageBox(errormessage);
 }
 
 // 设定连接等待的最大秒数,默认是15秒
 m_ptrConn->ConnectionTimeout=15;
 UserName = "";
 PassWord = "";
}

CAdoConnection::~CAdoConnection()
{
 if (GetConnected())
  SetConnected(FALSE);

 m_ptrConn=NULL;
}

CAdoConnection::operator _ConnectionPtr()
{
 return m_ptrConn;
}

void CAdoConnection::SetConnected(BOOL ConnectFlag)
{
 if (TRUE == ConnectFlag) {
  try {
   // 打开连接
   m_ptrConn->Open(ConnectingString.c_str(), UserName.c_str(), PassWord.c_str(), adModeUnknown);
  }
  catch(_com_error & error) {
   CString errormessage;
   errormessage.Format("连接数据库失败!\r\n错误信息:%s", error.ErrorMessage());
   AfxMessageBox(errormessage);
  }
 }
 else {
  m_ptrConn->Close();
 }
}

BOOL CAdoConnection::GetConnected()
{
 if (m_ptrConn->State == adStateOpen)
  return TRUE;
 else
  return FALSE;
}


//CAdoCommand
CAdoCommand::CAdoCommand()
{
 m_AdoConnection = NULL;
 CommandText = adCmdText;
 // 创建一个命令对象实例
 try {
  HRESULT hr = m_ptrComm.CreateInstance(__uuidof(Command));
  if (FAILED(hr)) {
   CString errormessage("创建实例失败!");
   AfxMessageBox(errormessage);
   throw;
  }
 }
 catch(_com_error & error) {
  CString errormessage;
  errormessage.Format("创建实例失败!\r\n错误信息:%s", error.ErrorMessage());
  AfxMessageBox(errormessage);
 } 
}
 
CAdoCommand::~CAdoCommand()
{
 m_ptrComm = NULL;
}

void CAdoCommand::Execute()
{
 if ((m_AdoConnection == NULL) || (m_AdoConnection->Connected == FALSE))
  return;
 
 m_ptrComm->ActiveConnection = m_AdoConnection->m_ptrConn;
 m_ptrComm->CommandType = CommandType;
 m_ptrComm->CommandText = CommandText.c_str();
 try {
  m_ptrComm->Execute(NULL,NULL,adCmdUnknown);
 }
 catch(_com_error & error) {
  CString errormessage;
  errormessage.Format("查询数据库失败!\r\n错误信息:%s", error.ErrorMessage());
  AfxMessageBox(errormessage);
 }
}

CAdoCommand::operator _CommandPtr()
{
 return m_ptrComm;
}


//CAdoQuery
CAdoQuery::CAdoQuery()
{
 m_AdoConnection = NULL;
 // 创建一个_RecordsetPtr对象实例
 try {
  HRESULT hr = m_ptrRec.CreateInstance("ADODB.Recordset");
  if (FAILED(hr)) {
   CString errormessage("创建实例失败!");
   AfxMessageBox(errormessage);
   throw;
  }
 }
 catch(_com_error & error) {
  CString errormessage;
  errormessage.Format("创建实例失败!\r\n错误信息:%s", error.ErrorMessage());
  AfxMessageBox(errormessage);
 } 
}
 
CAdoQuery::~CAdoQuery()
{
 m_ptrRec = NULL;
}

void CAdoQuery::Open()
{
 if ((m_AdoConnection == NULL) || (m_AdoConnection->Connected == FALSE))
  return;
 
 try {
  m_ptrRec->Open(Sql.c_str(), (m_AdoConnection->m_ptrConn).GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);
 }
 catch(_com_error & error) {
  CString errormessage;
  errormessage.Format("查询数据库失败!\r\n错误信息:%s", error.ErrorMessage());
  AfxMessageBox(errormessage);
 }
}

CAdoQuery::operator _RecordsetPtr()
{
 return m_ptrRec;
}

// a.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "a.h"
#include "DataAccess.h"
#include <fstream>
using namespace std;

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// 唯一的应用程序对象

CWinApp theApp;

using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
 int nRetCode = 0;
 ofstream file("test.txt",std::ios::app);
 CTime ct;
 CString text;

 ct = CTime::GetCurrentTime();
 text.Format("%d分%d秒", ct.GetMinute(), ct.GetSecond());
 file << argv[1] << "开始时间:" << text << endl;

 CoInitialize(NULL);
 // 初始化 MFC 并在失败时显示错误
 if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
 {
  // TODO: 更改错误代码以符合您的需要
  _tprintf(_T("致命错误: MFC 初始化失败\n"));
  nRetCode = 1;
 }
 else
 {
  // TODO: 在此处为应用程序的行为编写代码。
  CAdoConnection AdoConnection;
  CAdoCommand AdoCommand;
  AdoConnection.ConnectingString = "Provider=SQLOLEDB;Network Address=127.0.0.1;Initial Catalog=临时数据库";
  AdoConnection.UserName = "sa";
  AdoConnection.PassWord = "sa";
  if (AdoConnection.Connected == FALSE)
   AdoConnection.Connected = TRUE;
  
  AdoCommand.CommandType = adCmdText;
  AdoCommand.CommandText = string("INSERT INTO ") + string(argv[1]) + string(" (name) VALUES (''''ghb'''')");
  AdoCommand.m_AdoConnection = &AdoConnection;

  for (int i = 0; i<10000; i++)
   AdoCommand.Execute();

  AdoConnection.Connected = FALSE;
 }

 CoUninitialize();

 ct = CTime::GetCurrentTime();
 text.Format("%d分%d秒", ct.GetMinute(), ct.GetSecond());
 file << argv[1] << "结束时间:" << text << endl;

 return nRetCode;
}

// b.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "b.h"
#include <fstream>
using namespace std;

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// 唯一的应用程序对象

CWinApp theApp;

using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
 int nRetCode = 0;
 ofstream file("test.txt",std::ios::app);
 CTime ct;
 CString temp;

 ct = CTime::GetCurrentTime();
 temp.Format("%d分%d秒", ct.GetMinute(), ct.GetSecond());
 file << "主console程序开始时间:" << temp << endl;

 // 初始化 MFC 并在失败时显示错误
 if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
 {
  // TODO: 更改错误代码以符合您的需要
  _tprintf(_T("致命错误: MFC 初始化失败\n"));
 &

上一页  [1] [2] [3]  下一页


[办公软件]在sybase中插入图片、PDF、文本文件  [办公软件]安装Sybase ASE
[办公软件]linux指令大全(完整篇)  [办公软件]Linux新手入门常用命令大全
[办公软件]在RedHat Linux 9里安装gaim0.80  [办公软件]浅谈Linux 下Java 1.5 汉字方块问题解决方法
[办公软件]Linux程序员必读:中文化与GB18030标准  [办公软件]linux指令大全
[办公软件]制作Linux启动盘的四种方法  [办公软件]Linux文件系统的反删除方法
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台