📄 adotable.h
字号:
//-------------------------------------------------------------------------------------------
// 文件名:AdoTable.h
// 文件功能:封装了读写数据库表格的类
// 备注:
//-------------------------------------------------------------------------------------------
#ifndef _ADOTABLE_H
#define _ADOTABLE_H
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "evdefine.h"
#include "Afx.h"
#include <afxdisp.h>
#define CONSTR "DSN=Billsys"
///////////////////////////////////////////////////////////////////////////////////////////////
// 定义全局的宏
///////////////////////////////////////////////////////////////////////////////////////////////
// 错误码
#define EV_ERR_OK 0 // 返回正确
#define EV_ERR_COM -1 // COM的错误
#define EV_ERR_NORECORD -2 // 没有可读的记录
#define EV_ERR_CONNECTION -3 // 连接数据库错误
#define EV_ERR_DISCONNECTION -4 // 断开连接的时候错误
#define EV_ERR_CREATEFILE -5 // 建立文件出错
#define EV_ERR_READFILE -6 // 读文件出错
#define EV_ERR_CREATESAFEARRAY -7 // SafeArrayCreate出错
#define EV_ERR_VALUENULL -8 // 在读取字段时,遇到了值为<NULL>的空字段
///////////////////////////////////////////////////////////////////////////////////////////////
#include <comdef.h>
#import "C:\Program Files\Common Files\System\ado\msado15.dll" \
no_namespace, rename("EOF","adoEOF")
#define MAXSTRLEN 500
#define ERRORSTR_LEN 500
#define TABLESTRLEN 80
class CAdoTable
{
public:
CAdoTable(const char*sConString);//构造函数,同时打开table
virtual ~CAdoTable();
// 连接到数据库
int ConnectDB(DWORD dwFlag = adModeReadWrite );
int Disconnect();
public:
// 获取错误信息
char *GetErrorStr( void );
// 成功返回1,错误返回0
public:
void SetTable(LPCTSTR szTable);
int SetRecordsetBy(LPCTSTR fieldname1,const long value1,LPCTSTR fieldname2,const long value2);
CString m_szPass;
CString m_szUID;
bool ExcuteSql(LPCTSTR szSql);
BOOL IsBegin();
BOOL IsEnd();
void AddRecordEnd();
void AddRecordBegin();
void CancelUpdate();
int ReadField(const char *fieldname, DWORD &result);
int ReadField(long lindex, char* result);
int ReadField(const char *fieldname,long & result);
int ReadField(const char *fieldname,int & result);
int ReadField(const char* fieldname,char* result);
int ReadField(const char *fieldname, COleDateTime &result);
int ReadImageField(const char *fieldname,const char *szFileName);
int MoveLast();//移至最后
int MoveFirst();//移至表头
int MovePre();//向前移动一个
int MoveNext();//向后移动一个记录
int GetRecordsetNumber(int &number);//得当当前所有记录数目
protected:
_RecordsetPtr pRecordSet;
_ConnectionPtr pConnect;
char sConnectString[MAXSTRLEN];
char sSql[MAXSTRLEN];
char sError[ERRORSTR_LEN];
char sTableName[TABLESTRLEN];
protected:
void CloseRecordset();
};
//************************************
#endif // !defined(AFX_ADOTABLE_H__B49D954A_05CF_11D4_A302_0050BABE3FBC__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -