📄 iresultset.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 + -