资源简介
对ODBC中的方法进行了封装,包括数据库连接的打开、关闭,结果集的操作等等,附有文档
代码片段和文件信息
//
// MODULE: odbccore.cpp
//
// AUTHOR: Carlos Antollini
//
// mailto: cantollini@hotmail.com
//
// Date: 08/21/2001
//
// Version 1.11
//
#include “odbccore.h“
/////////////////////////////////////////////////////////////
//
// CODBCDatabase Class
//
void CODBCDatabase::SQLAlloc()
{
SQLAllocHandle(SQL_HANDLE_ENV SQL_NULL_HANDLE &m_hEnv);
SQLSetEnvAttr(m_hEnv SQL_ATTR_ODBC_VERSION (void*)SQL_OV_ODBC3 0);
SQLAllocHandle(SQL_HANDLE_DBC m_hEnv &m_hDbc);
}
void CODBCDatabase::SQLFree()
{
SQLFreeHandle(SQL_HANDLE_DBC m_hDbc);
SQLFreeHandle(SQL_HANDLE_ENV m_hEnv);
m_hDbc = NULL;
m_hEnv = NULL;
}
void CODBCDatabase::Close()
{
m_bIsConnected = FALSE;
if(m_hDbc == NULL)
return;
SQLDisconnect(m_hDbc);
SQLFree();
}
BOOL CODBCDatabase::Open(CHAR* szDSNCHAR* szUser CHAR* szPass)
{
SQLRETURN ret;
if(m_lConnectionTimeout > 0)
SQLSetConnectAttr(m_hDbc SQL_ATTR_CONNECTION_TIMEOUT (SQLPOINTER)m_lConnectionTimeout 0);
SQLSetConnectAttr(m_hDbc SQL_ATTR_LOGIN_TIMEOUT (SQLPOINTER)m_lLoginTimeout 0);
ret = SQLConnect(m_hDbc
(SQLCHAR*)szDSN
sizeof(szDSN)
(SQLCHAR*)szUser
sizeof(szUser)
(SQLCHAR*)szPass
sizeof(szPass));
m_bIsConnected = ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO;
return m_bIsConnected;
}
BOOL CODBCDatabase::Browse(UCHAR* szConnStrIn UCHAR* szConnStrOut)
{
SQLRETURN ret;
SWORD swLenOut = 0;
ret = SQLBrowseConnect(m_hDbc
(SQLCHAR*)szConnStrIn
sizeof(szConnStrIn)
(SQLCHAR*)szConnStrOut
MAX_BUFFER
&swLenOut);
m_bIsConnected = ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO;
return m_bIsConnected;
}
void CODBCDatabase::SetConnectionTimeout(LONG nSeconds)
{
if(m_hDbc)
SQLSetConnectAttr(m_hDbc SQL_ATTR_CONNECTION_TIMEOUT (SQLPOINTER)nSeconds 0);
m_lConnectionTimeout = nSeconds;
}
BOOL CODBCDatabase::DriverConnect(CHAR* szConnStr CHAR* szConnStrOut HWND hWnd enum drvCompletion drvConn)
{
SQLRETURN ret;
SQLSMALLINT pcbConnStrOut;
if(drvConn == sqlPrompt && hWnd == NULL)
return FALSE;
if(m_lConnectionTimeout > 0)
SQLSetConnectAttr(m_hDbc SQL_ATTR_CONNECTION_TIMEOUT (SQLPOINTER)m_lConnectionTimeout 0);
SQLSetConnectAttr(m_hDbc SQL_ATTR_LOGIN_TIMEOUT (SQLPOINTER)m_lLoginTimeout 0);
ret = SQLDriverConnect(m_hDbc
hWnd
(SQLCHAR*)szConnStr
SQL_NTS
(SQLCHAR*)szConnStrOut
sizeof(szConnStrOut)
&pcbConnStrOut
(SQLUSMALLINT)drvConn);
m_bIsConnected = ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO;
return m_bIsConnected;
}
void CODBCDatabase::SetReadOnly(BOOL bReadOnly)
{
SQLSetConnectAttr(m_hDbc SQL_ATTR_ACCESS_MODE (SQLPOINTER)(bReadOnly? SQL_MODE_READ_ONLY : SQL_MODE_READ_WRITE) 0);
}
LONG CODBCDatabase::GetConnectionTimeout()
{
LONG nSeconds;
SQLGetConnectAttr(m_hDbc
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8720 2001-08-24 15:29 odbccore.cpp
文件 4249 2001-08-24 15:29 odbccore.h
文件 102400 2008-09-10 13:54 odbcconn.doc
----------- --------- ---------- ----- ----
115369 3
- 上一篇:企业员工工资管理系统
- 下一篇:计算机网络课程设计—ARQ协议模拟实验
相关资源
- 图形数据—属性数据三步曲
- ODBC windows64位驱动
-
openli
nk odbc connector for mac - easysoft odbc for IB6.0
- progress91--ODBC 3.7
-
syba
se odbc driver for win64 - MyODBC-3.51.11-2-win.exe 0分奉献
- cache ODBC 2015[Win64]
- instantclient-odbc-windows.x64-11.2.0.3.0.zip
- kepware 软件odbc 操作
- unixODBC-devel
- PI ODBC 1.3.1.0
-
syba
se数据库ODBC驱动 -
syba
se odbc(32位/64位) 驱动 - Firebird_ODBC.zip
- VC学生信息管理系统ODBC
- ODBC API 开发教程.pdf
- 直接通过ODBC读、写Excel表格文件
- IBM DATA SERVER DRIVER FRO ODBC CLI/DB2 Driver使
- 安装 Microsoft Visual Studio 2013 Redistribu
-
linux syba
se iq odbc配置 -
syba
se 11 odbc驱动 -
Syba
se手动安装ODBC驱动 -
Syba
se ODBC 免安装驱动 版本:12.5 -
syba
se的odbc驱动15.5适应与任何下级版 - ODBC Driver for Cache 64位
- 《ODBC3.0程序员参考手册和SDK指南》
- VFP的连接ODBC和OLEDB(2018年整理亲测)
- Kyligence-ODBC-Driver-for-Apache-Kylin.zip
-
Syba
se ASE 12.5.4 ODBC驱动包
评论
共有 条评论