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

📄 iresultset.h

📁 Oracle OCI 应用
💻 H
字号:

/**
 * IResultset.h
 *
 * @author aizy
 * @date 2004-11-24
 */

#ifndef _DB_IRESULT_SET_H_
#define _DB_IRESULT_SET_H_

#include <string>

#include "Date.h"
#include "Time.h"
#include "Timestamp.h"

namespace db {

/**
 * 结果集接口
 */
class IResultset {
protected:
	virtual ~IResultset(){};

public:
	/**
	 * 获取结果集字段个数
	 */
	virtual long GetColumnCount() = 0;

	/**
	 * 关闭结果集
	 * 注意:该函数内部需要释放IResultset实例
	 */
	virtual void Close() = 0;

	//-------------------------游标操作--------------------------//

	/**
	 * 游标是否当前是否为起始位置
	 *
	 * @return true 是起始位置
	 *         false 不是起始位置
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool IsFirst() = 0;

	/**
	 * 游标是否当前是否为末尾位置
	 *
	 * @return true 是末尾位置
	 *         false 不是末尾位置
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool IsLast() = 0;

	/**
	 * 将游标移动到起始位置
	 *
	 * @return true 移动成功
	 *         false 移动失败
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool First() = 0;

	/**
	 * 将游标移动到末尾位置
	 *
	 * @return true 移动成功
	 *         false 移动失败
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool Last() = 0;

	/**
	 * 游标后移
	 *
	 * @return true 移动成功
	 *         false 移动失败
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool Next() = 0;

	/**
	 * 游标前移
	 *
	 * @return true 移动成功
	 *         false 移动失败
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool Previous() = 0;

	//-------------------------取数据----------------------------//
	/**
	 * 获取字符串类型数据
	 *
	 * @index 参数位置
	 * @value 返回值
	 * @return true 有值
	 *         false 空值
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool GetString(int index, std::string &value) = 0;

	/**
	 * 获取浮点数类型数据
	 *
	 * @index 参数位置
	 * @value 返回值
	 * @return true 有值
	 *         false 空值
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool GetFloat(int index, float &value) = 0;

	/**
	 * 获取整数类型数据
	 *
	 * @index 参数位置
	 * @value 返回值
	 * @return true 有值
	 *         false 空值
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool GetInt(int index, int &value) = 0;

	/**
	 * 获取日期类型数据
	 *
	 * @index 参数位置
	 * @value 返回值
	 * @return true 有值
	 *         false 空值
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool GetDate(int index, Date &value) = 0;

	/**
	 * 获取时间类型数据
	 *
	 * @index 参数位置
	 * @value 返回值
	 * @return true 有值
	 *         false 空值
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool GetTime(int index, Time &value) = 0;

	/**
	 * 获取时间戳类型数据
	 *
	 * @index 参数位置
	 * @value 返回值
	 * @return true 有值
	 *         false 空值
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool GetTimestamp(int index, Timestamp &value) = 0;

	//-------------------------按字段名取数据----------------------------//
	/**
	 * 获取字符串类型数据
	 *
	 * @fieldName 字段名称
	 * @value 返回值
	 * @return true 有值
	 *         false 空值
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool GetString(const std::string& fieldName, std::string &value) = 0;

	/**
	 * 获取浮点数类型数据
	 *
	 * @fieldName 字段名称
	 * @value 返回值
	 * @return true 有值
	 *         false 空值
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool GetFloat(const std::string& fieldName, float &value) = 0;

	/**
	 * 获取整数类型数据
	 *
	 * @fieldName 字段名称
	 * @value 返回值
	 * @return true 有值
	 *         false 空值
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool GetInt(const std::string& fieldName, int &value) = 0;

	/**
	 * 获取日期类型数据
	 *
	 * @fieldName 字段名称
	 * @value 返回值
	 * @return true 有值
	 *         false 空值
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool GetDate(const std::string& fieldName, Date &value) = 0;

	/**
	 * 获取时间类型数据
	 *
	 * @fieldName 字段名称
	 * @value 返回值
	 * @return true 有值
	 *         false 空值
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool GetTime(const std::string& fieldName, Time &value) = 0;

	/**
	 * 获取时间戳类型数据
	 *
	 * @fieldName 字段名称
	 * @value 返回值
	 * @return true 有值
	 *         false 空值
	 * @throw SqlException 数据库访问错误时抛出该异常
	 */
	virtual bool GetTimestamp(const std::string& fieldName, Timestamp &value) = 0;
};

}

#endif //_DB_IRESULT_SET_H_

⌨️ 快捷键说明

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