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

📄 accessdb.h

📁 论坛中有许多操作Access数据库的介绍、说明
💻 H
字号:
// MyDB.h: interface for the CAccessDB class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MYDB_H__62B1A15A_D2C8_42A4_B9C7_78D3BC8B7664__INCLUDED_)
#define AFX_MYDB_H__62B1A15A_D2C8_42A4_B9C7_78D3BC8B7664__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <afxdao.h>
//#include <AFXSTATE.h>
#include <ODBCINST.H>
#include <AFXDB.H>

#define MAXTABLE		200
#define MAXTABLENAME	30
#define	MAXFIELD		200
#define MAXFIELDNAME	30
#define MAXDATASETNAME	20
#define MAXSQLSTRING	1000

#define DBNAME		"garment.mdb"
#define NAMETB		".\\dbname.ini"
#define NAMELB		".\\labname.ini"



#define DB_CONDITIONERROR			-1
#define DB_DATAEXIST				-2
#define DB_INSERTERROR				-3
#define DB_DATANOTEXIST				-4
#define DB_OTHERERROR				-5


#define YYYYMMDD	0
#define	YYMMDD		1
#define	YYIMMIDD	2
#define	MMIDDIYY	3


#define DESC		0
#define ASC			1

/*////////////////////////////////////////////////////////////////////

*///////////////////////////////////////////
struct AccessConnInfo
{
	char DBName[256];
	char DBPath[256];
	char UserName[20];
	char PassWord[12];

	char ServerName[20];
};

class CAccessDB:public CObject
{
public:
	int UpdateRecord(char *tbName,CStringArray &KeyName,CStringArray &KeyValues,CStringArray &fldName,CStringArray &fldValues);
	int DelRecord(char *tbName,CStringArray &KeyName,CStringArray &KeyValues,int flag=1);
	int AddRecord(char *tbName,CStringArray &fldName,CStringArray &fldValues);
	short GetFieldType(char *TableName,int FieldIndex);
	short GetFieldType(char *TableName,char *FieldName);
	BOOL IsDBOpen();
	int ConnectDB(const char * DsnName,const char *UserName,const char *Password);
	void OptimizeDB();
	char * GetFieldName(char *TableName,int FieldIndex);
	char * GetFieldName(int TableIndex,int FieldIndex);
	char * GetTableName(int TbIndex);
	int GetDataSetFieldValue(int iFieldIndex,char * OutValue);
	void MoveNext();
	BOOL IsEOF();
	void MoveFirst();
	BOOL DeleteDataSet(char * DSName);
	void GetCurrentDateSetName(char *OutValue);
	int GetDataSetFieldValue(int RowIndex,char * FieldName,char *OutValue);
	int GetDataSetFieldValue(int RowIndex,int iFieldIndex,char *OutValue);
	int GetDataSetRowCount(int ForceAll=0,BOOL DoException=FALSE);
	int GetDataSetFieldName(int nIndex,char *OutValue);
	int SetDataSet(char * DSName,char * szSql,int szOpenMode=dbOpenDynaset);
	int GetDataSetFieldCount();
	BOOL FreshTBInfo(char * TbName);
	BOOL FreshDBInfo();
	int GetValueInField(char * TbName,int nIndex,char * OutValue);
	int GetValueInField(char * TbName,char * lpszName,char *OutValue);
	int GetRowCount(char * TbName);
	int GetFieldCount(char * TbName);
	int GetTableCount();
//	int ConnectDB(char *DBPath=NULL,char *DBName=NULL);
	int ConnectDB(char * DsnName=NULL);
	int ExecSQL(unsigned char *szSql);
	BOOL CloseDB();
	int OpenDB(LPCTSTR lpszName,BOOL bExclusive = FALSE,BOOL bReadOnly = FALSE,
				LPCTSTR lpszConnect = _T(""));
//	CAccessDB(char *DBPath,char *DBName);
	CAccessDB(char *DBPath,char * DBName,int OptFlag=0);
	virtual ~CAccessDB();
	char m_DSName[MAXDATASETNAME];

private:
	char m_DBPath[200];
	char m_FieldName[MAXTABLE][MAXFIELD][MAXFIELDNAME];
	short m_FieldType[MAXTABLE][MAXFIELD];
	char m_DBName[MAXTABLENAME];
	char m_DataSetSql[MAXSQLSTRING];
	char m_TableName[MAXTABLE][MAXTABLENAME];
	int m_TableCount;
	CDaoDatabase m_DB;
	CDaoRecordset m_DataSet;
protected:
	CString Str2Variant(const COleVariant &var);
	LPCTSTR Str2Bool(BOOL bFlag);
};

char * SwitchName2Lab(char *KeyName,char *SectionName=NULL,char *FileName=NULL,char *AppName=NULL);

char * SwitchLab2Name(char *Lab,char *SectionName=NULL);

#ifdef _MYSYSTEMAPI_

char *GetCurAppExecPath(CString &strPath,char *AppName);
BOOL GetCurAppExecPath(char * szPath,char *AppName);
#endif

#endif // !defined(AFX_MYDB_H__62B1A15A_D2C8_42A4_B9C7_78D3BC8B7664__INCLUDED_)

⌨️ 快捷键说明

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