📄 myodbc.h
字号:
// Odbc1.h: interface for the CMyODBC class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_ODBC1_H__DA87D10F_A7D7_4DC8_A463_B1B2B6A9A4D7__INCLUDED_)
#define AFX_ODBC1_H__DA87D10F_A7D7_4DC8_A463_B1B2B6A9A4D7__INCLUDED_
//#if _MSC_VER > 1000
//#pragma once
//#endif // _MSC_VER > 1000
#include <windows.h>
#include <odbcinst.h>
#include "ODBCSet.h"
#include <sqlext.h>
//#define SQL_C_CHAR 1
//#define SQL_C_TYPE_TIMESTAMP 2
//class CODBCSet;
void WriteLog(char *info);
class CMyODBC
{
private:
char m_Err[600];
unsigned char *m_SQLState;
SQLHENV m_henv;
SQLHDBC m_hdbc;
SQLHSTMT m_hstmt;
SQLRETURN m_retcode;
CODBCSet *m_pSet;
// PARAM_SQL m_ParamSql;
int m_FetchType;
private:
BOOL ConvertDataToChar();
void ReportError(SQLHSTMT &hstmt, int iHandleType ,char *strAlert);
long GetColLength(SQLHSTMT &hstmt,int iDataType, int iCol);
SQLSMALLINT GetDefaultCType(long iODBCType);
public:
CMyODBC();
virtual ~CMyODBC();
BOOL ConnectDB(const char *cpServerName, const char *cpUserName, const char *cpPassword);
BOOL ConnectDB(const char *cpConnectStr);
// BOOL IsOpen();
// int ExecTrans(CStringList &strSqlList);
BOOL ExeSqlDirect(const char *cpSqlStmt);
BOOL PrepareSql(const char *cpSql, CODBCSet *rSet);
BOOL AddSql(char *cpSql);
BOOL SetParam(int idx,char *value,int size,int type,SQLINTEGER *cbStatus);
BOOL Run();
BOOL FetchFirst();
BOOL FetchData();
BOOL DisConnect();
BOOL BeginTrans();
BOOL CommitTrans();
BOOL Rollback();
// AFX_ODBC_CALL(::SQLSetPos(m_hstmt, wRow, SQL_POSITION, wLockType));
char *GetErr(){return m_Err;};
};
#endif // !defined(AFX_ODBC1_H__DA87D10F_A7D7_4DC8_A463_B1B2B6A9A4D7__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -