⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbbaseclass.h

📁 ADO写的数据库接口,CB 6 编译通过
💻 H
字号:
//---------------------------------------------------------------------------

#ifndef dbbaseclassH
#define dbbaseclassH
#include "ADODB.hpp"
#include <odbcinst.h>

//---------------------------------------------------------------------------
#define AS_STRING 0
#define AS_BLOB   1
#define AS_INT    2

#define STR_MYSQL  "MySQL"
#define STR_ACCESS "MyAccess"
#define STR_SQLSERVER "SQLServer"

#pragma pack(1)
typedef struct DB_USER_INFO
{
    int nSize;
	char szHost[128];    //用户登陆主机
    char szUser[32];     // 用户名
//    char szDBName[128];      // 用户允许连接的数据库。空表示没有限制数据库的连接
    char szPassword[32]; //用户口令
}DB_USER_INFO;

#pragma pack()

typedef int (__stdcall *TDB_CALLBACK)(int pos,char *info);

void  UpperStr(char *in,char *out);
void  UpperStr2(char *in,char *out);

class CDBFaceBase
{
protected:
    TADOConnection *m_adMain;
    TADOQuery * m_adQuery;
    int iRecordCount;
    unsigned char *m_Data;
//    char *m_pSql;
//    int iSqlBuffLen;
public:
    char m_Err[560];
    char m_ClassName[120];
    char m_Driver[120];

    CDBFaceBase();
    ~CDBFaceBase();
    virtual bool  CreateDSN (char * szAttributes);
//    virtual bool  SetDBDriver(char  *szDrvName);
    virtual bool  CreateDB (char * szDBName);
    virtual bool  ConnectDB (char *szhostserver,char *szUser,char *szPassWord,char *szDBName);
    virtual bool  ConnectDBByStr (char *szConnectStr);
    virtual bool  UseDB (char *szDBName);
    virtual bool  GetCurrDB(char *szName){return false;};
    virtual bool  CloseDB ();
    virtual bool  GetAllDB (char * szDBName,int iSize);
//    virtual bool  GetAllDSN (char * szDBDSN,int iSize);
    virtual bool  GetAllUser (DB_USER_INFO * szUser,int iInNum,int *iOutNum);
    virtual bool  SetUserRole (DB_USER_INFO *useinfo,char *szDBName);
    virtual bool  DeleteUser (DB_USER_INFO *szUser);
//    virtual bool  DeleteUser (char *username);
    virtual bool  ExecSQLCmd(char * szSQL);
    virtual bool  ExecSQL(char * szSQL,void *callback);
    virtual bool  ExecSQLFile(char * szSQLFile,void *callback);

    virtual void   AddSQL(char *sql);
    virtual bool   SetParam(char *parm,char *value,int size=0,int type=0);
    virtual bool   RunSql();

    virtual bool  Query(char * szSQL);
    virtual int   RecordCount();
    virtual bool  First();
    virtual bool  Next();
    virtual char *GetDataValue(char *szFieldName,int *len=0);
    virtual int   GetIntValue(char *szFieldName);
    virtual char *GetValueByIdx(int fid,char *szFieldName,int *len=0);
    virtual int   GetIntByIdx(int fid,char *szFieldName);

    virtual bool  BeginTrans(int *outLevel);
    virtual bool  Commit();
    virtual bool  Rollback();
    virtual bool  LockTables(char *tables);
    virtual bool  UnlockTables(char *tables);

    virtual bool Backup(char *db,char *username,char *password,char *pathname,void *callback);
//    virtual bool   Backup(char *backstr,char *pathname,void *callback);
    virtual bool   Restore(char *db,char *username,char *password,char *pathname,void *callback);

    virtual bool   GetFields(char *Fields,int *memsize,int *count);
    virtual char  *GetField(int idx);
    virtual int    FieldCount();
    //bool  GetDSN(char *pDSN,char *pHost);
    virtual char * GetErr(){return m_Err;};
//    virtual int   GetValue(int fieldid,char *FieldName,int *fielsize);
};
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -