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

📄 wtrecordset.h

📁 将对Oracle数据库读写操作的OCI进行封装。不但具有普通数据的读取操作
💻 H
字号:
/*
* 文件名:    WTRecordSet.h
*     
* 作者:      施立虹
*     
* 描述:      用来查询和读取 oracle 数据库中的数据
*     
* 全局变量:  无
*          
* 修订记录:
*     日期            修订者           修订描述
*     2004-06-16      施立虹          创建本文件
*/

// WTRecordSet.h: interface for the CWTRecordSet class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_WTRECORDSET_H__ACCA8C7F_B0B7_47BD_8D10_A61DCA09ECC2__INCLUDED_)
#define AFX_WTRECORDSET_H__ACCA8C7F_B0B7_47BD_8D10_A61DCA09ECC2__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "WTCommand.h"

class	CWTParameters : public CTypedPtrArray<CPtrArray, CWTParameter *> {};
class	CWTRecords: public CTypedPtrArray<CPtrArray, CWTRecord *> {};

class AFX_EXT_CLASS CWTRecordSet  :public CWTCommand
{
public:
	CWTRecordSet();
	virtual ~CWTRecordSet();

private:
	OCIDefine   *m_phdef[1024];            //定义句柄
	OCIParam    *m_phCol;                  //参数句柄
	OCIDate      m_ociDate[1024];

private:
	CString      m_strColName[512];        //存放列名
	text        *m_colBuf[1024];           //存放select语句选中的列数据
	sb2          m_ind[1024];              //指示符变量

	ub2          m_colLen[1024];           //列长度
	ub2          m_colType[1024];          //列类型
	ub2          m_colPrecision[1024];     //精度

private:
	CWTRecordSet *m_pRecord;

	int     m_FieldCount;
	long    m_nIndex;
	CString m_strSQLCommand;
	static  long m_RecordCount;

private:
	// CWTParameter类链表,用来保存CWTParameter对象
	CWTParameters  m_listParams;

	// CWTRecord类链表,用来保存CWTRecord对象
	CWTRecords  m_listRecords;
	CWTFields   m_listFields;// CWTFields类链表,用来保存CWTFields 对象

private:
	BOOL        SaveData();
	BOOL        SaveMsg();
	CWTRecords &Records() { return m_listRecords; }//获取记录链表

	CWTParameter  *GetParameter(long nIndex);
	CString        BuildSQL(CString strTableName);
	BOOL           SaveRecords();

public:
	CString m_strFilter;
	CString m_strSort;

public:
	void Close();
	BOOL Open(CString strTableName);

/*
	void MoveFirst();
	void MoveLast();
	void MovePrevious();
	void MoveNext();
	void MoveTo(long nIndex);
	BOOL IsError();
*/

	long           GetRecordCount();
	CWTRecord     *GetRecord(long nIndex);
	CWTFields     &Fields()     { return m_listFields; }
	CWTParameters &Parameters() { return m_listParams; }//获取记录链表
};

#endif // !defined(AFX_WTRECORDSET_H__ACCA8C7F_B0B7_47BD_8D10_A61DCA09ECC2__INCLUDED_)

⌨️ 快捷键说明

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