?? database.cpp
字號:
#include "Database.h"
Database::Database()
{
m_henv = NULL;
m_hdbc = NULL;
isOpen = false;
}
Database::~Database()
{
if (isOpen)
Close();
}
bool Database::IsOpen()
{
return isOpen;
}
bool Database::Open(String DSN, String user, String pass)
{
SQLRETURN ret;
if (isOpen || (ret = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &m_henv)) != SQL_SUCCESS)
return false;
SQLSetEnvAttr(m_henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, NULL);
if ((ret = SQLAllocHandle(SQL_HANDLE_DBC, m_henv, &m_hdbc) != SQL_SUCCESS))
{
SQLFreeHandle(SQL_HANDLE_ENV, m_henv);
return false;
}
if ((ret = SQLConnect(m_hdbc, DSN, SQL_NTS, user, SQL_NTS, pass, SQL_NTS)) != SQL_SUCCESS)
{
SQLFreeHandle(SQL_HANDLE_DBC, m_hdbc);
SQLFreeHandle(SQL_HANDLE_ENV, m_henv);
return false;
}
isOpen = true;
return true;
}
void Database::Close()
{
if (isOpen)
{
SQLDisconnect(m_hdbc);
SQLFreeHandle(SQL_HANDLE_DBC, m_hdbc);
SQLFreeHandle(SQL_HANDLE_ENV, m_henv);
isOpen = false;
}
}
bool Database::Exec(SQLTCHAR* strSQL)
{
SQLRETURN ret;
HSTMT stmt;
bool flag = true;
if (!isOpen || (ret = SQLAllocHandle(SQL_HANDLE_STMT, m_hdbc, &stmt)) != SQL_SUCCESS)
return false;
if ((ret = SQLExecDirect(stmt, strSQL, SQL_NTS)) != SQL_SUCCESS)
flag = false;
SQLFreeHandle(SQL_HANDLE_STMT, stmt);
return flag;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -