vc sqlserver编程的一个处理类
2009-09-01 00:05
169 查看
这是头文件
#pragma once
#include "stdafx.h"
class SQLDB
{
public:
SQLDB(void);
~SQLDB(void);
public:
_ConnectionPtr m_con;
_RecordsetPtr m_record;
public:
void InitConnection();
_RecordsetPtr& GetRecordSet(_bstr_t sql);
BOOL ExecuteSql(_bstr_t sql);
void ExitConnection();
};
这是cpp文件
#include "StdAfx.h"
#include "SQLDB.h"
SQLDB::SQLDB(void)
{
}
SQLDB::~SQLDB(void)
{
}
void SQLDB::InitConnection()
{
try
{
//´创建connection连接对象
m_con.CreateInstance("ADODB.Connection");
//设置连接字符串
_bstr_t strConnect= "Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=test1;Data Source=NETCOM-ZJY\\SQL2005";
//AfxMessageBox(strConnect,0,0);
//SERVER和UID,PWD的设定需要根据自己的情况
m_con->Open(strConnect,"sa","111111",adModeUnknown);
//AfxMessageBox(L"connection ok");
}
//捕捉异常
catch(_com_error e)
{
//显示错误信息
AfxMessageBox(e.Description());
}
}
_RecordsetPtr& SQLDB::GetRecordSet(_bstr_t sql)
{
if(m_con == NULL)
{
InitConnection();
}
try
{
m_record.CreateInstance(__uuidof(Recordset));
m_record->Open(sql,m_con.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error e)
{
e.Description();
}
return m_record;
}
BOOL SQLDB::ExecuteSql(_bstr_t sql)
{
_variant_t affect;
if(m_con == NULL)
{
SQLDB::InitConnection();
}
try
{
m_con->Execute(sql,NULL,adCmdText);
return TRUE;
}
catch(_com_error e)
{
return FALSE;
}
}
void SQLDB::ExitConnection()
{
if(m_record != NULL)
{
m_record->Close();
}
m_con->Close();
}
本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。
#pragma once
#include "stdafx.h"
class SQLDB
{
public:
SQLDB(void);
~SQLDB(void);
public:
_ConnectionPtr m_con;
_RecordsetPtr m_record;
public:
void InitConnection();
_RecordsetPtr& GetRecordSet(_bstr_t sql);
BOOL ExecuteSql(_bstr_t sql);
void ExitConnection();
};
这是cpp文件
#include "StdAfx.h"
#include "SQLDB.h"
SQLDB::SQLDB(void)
{
}
SQLDB::~SQLDB(void)
{
}
void SQLDB::InitConnection()
{
try
{
//´创建connection连接对象
m_con.CreateInstance("ADODB.Connection");
//设置连接字符串
_bstr_t strConnect= "Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=test1;Data Source=NETCOM-ZJY\\SQL2005";
//AfxMessageBox(strConnect,0,0);
//SERVER和UID,PWD的设定需要根据自己的情况
m_con->Open(strConnect,"sa","111111",adModeUnknown);
//AfxMessageBox(L"connection ok");
}
//捕捉异常
catch(_com_error e)
{
//显示错误信息
AfxMessageBox(e.Description());
}
}
_RecordsetPtr& SQLDB::GetRecordSet(_bstr_t sql)
{
if(m_con == NULL)
{
InitConnection();
}
try
{
m_record.CreateInstance(__uuidof(Recordset));
m_record->Open(sql,m_con.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error e)
{
e.Description();
}
return m_record;
}
BOOL SQLDB::ExecuteSql(_bstr_t sql)
{
_variant_t affect;
if(m_con == NULL)
{
SQLDB::InitConnection();
}
try
{
m_con->Execute(sql,NULL,adCmdText);
return TRUE;
}
catch(_com_error e)
{
return FALSE;
}
}
void SQLDB::ExitConnection()
{
if(m_record != NULL)
{
m_record->Close();
}
m_con->Close();
}
本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。
相关文章推荐
- SQLServer语法:如何处理查找一个数据库表的n 到 m条记录?
- pl/sql 返回值是不止一个的处理方式
- T-SQL 编程与应用----学习笔记一[Microsoft SQL Server 2005]
- 终极网络服务端编程--第二章 【Server框架与消息处理】
- VC+SQL Server 的问题
- 使用C语言连接 ms sql server 2008 —— ODBC 编程
- SQL Server Database 维护计划创建一个完整的备份策略
- sql-server日志文件总结及日志满的处理办法
- Reusing dialogs with a dialog pool--一个sql server service broker例子
- PL/SQL编程_异常处理
- SSH:利用Struts2+Hibernate4+Spring4+SQLServer框架,搭建一个前后端web网站(5)
- 未能加载文件或程序集“Com.JJHua.SQLServerDAL”或它的某一个依赖项。系统找不到指定的文件
- VC编程实现位图处理类(显示位图、加载位图、获取/设置像素点颜色)
- VC++编程打开一个文本文件的例子
- sql server clr 集成系列之四 创建一个clr的表值函数---实用的Split函数
- 编程管理SQL SERVER的帐号
- VC调用Delphi写的dll的一个问题的处理
- 第一次接触vc编程,顺便写一个过300英雄od附加的检测的小例子
- VC编程Windows消息处理机制、阻塞试验、SetTimer、MessageBox、消息响应处理函数
- SQLSqlserver中如何将一列数据,不重复的拼接成一个字符串