fastdo  0.6.8
eiendb::IDbConnection结构体 参考abstract

数据库连接接口 更多...

#include <eiendb_base.hpp>

类 eiendb::IDbConnection 继承关系图:

Public 成员函数

virtual ~IDbConnection ()
 
virtual bool connect ()
 连接数据库 更多...
 
virtual bool close ()
 关闭连接 更多...
 
virtual void alive ()
 确保该连接有效(还活着) 更多...
 
virtual bool selectDb (winux::String const &database)
 选定要操作的数据库 更多...
 
virtual bool setLinkCharset (winux::String const &charset)
 设置连接校验字符集 更多...
 
virtual size_t affectedRows ()
 受影响的行数 更多...
 
virtual bool createDb (winux::String const &database)
 创建一个库 更多...
 
virtual bool dropDb (winux::String const &database)
 删除数据库 更多...
 
virtual int errNo ()
 获得错误号 更多...
 
virtual winux::String error ()
 获得错误信息 更多...
 
virtual winux::SharedPointer< IDbResultquery (winux::String const &sql)
 查询数据结果 更多...
 
virtual winux::SharedPointer< IDbResultquery (winux::SharedPointer< IDbStatement > stmt)
 
virtual bool exec (winux::String const &sql)
 不需要数据的查询 更多...
 
virtual bool exec (winux::SharedPointer< IDbStatement > stmt)
 
virtual size_t insertId ()
 获得最后一次完成记录插入时的ID值 更多...
 
virtual winux::String escape (winux::String const &str, winux::String const &addQuote="\'")
 普通文本转成SQL语句安全的文本,用做SQL语句的字符串 更多...
 
virtual winux::String escape (void const *buf, size_t size, winux::String const &addQuote="\'")
 二进制数据转成SQL语句安全的文本,用做SQL语句的字符串 更多...
 
virtual winux::SharedPointer< IDbResultlistDbs ()
 获得所有数据库的一个结果集 更多...
 
virtual winux::SharedPointer< IDbResultlistFields (winux::String const &tableName)
 获得数据库里某表所有字段的一个结果集 更多...
 
virtual winux::SharedPointer< IDbResultlistTables ()
 获得数据库里所有表的一个结果集 更多...
 
virtual winux::String tableDdl (winux::String const &tableName)
 取得一张表的DDL 更多...
 
virtual winux::String symbolQuotes (winux::String const &str)
 加入标识符的引用标记,如表名,字段名等等 更多...
 
virtual size_t loadSql (winux::String const &sqlText, winux::StringArray *arrSql)
 加载SQL到一个字符串数组,返回语句条数 更多...
 
virtual size_t loadSqlFile (winux::IFile *sqlScriptFile, winux::StringArray *arrSql)
 加载SQL文件到一个字符串数组,返回语句条数 更多...
 
virtual size_t getPrimaryKey (winux::String const &tableName, winux::StringArray *arrKeyColumn)
 取得表的主键,返回主键字段数 更多...
 
virtual winux::SharedPointer< IDbStatementbuildStmt (winux::String const &sql)
 构造一个语句对象 更多...
 
virtual winux::SharedPointer< IDbStatementbuildStmt (winux::String const &sql, winux::Mixed const &params)
 构造一个语句对象 更多...
 
virtual winux::SharedPointer< IDbStatementbuildStmt (winux::String const &sql, winux::MixedArray const &params)
 构造一个语句对象 更多...
 
virtual winux::SharedPointer< IDbStatementbuildStmt (winux::String const &sql, winux::StringMixedMap const &params)
 构造一个语句对象 更多...
 
virtual operator bool () const =0
 判断一个连接是否有效 更多...
 

详细描述

数据库连接接口

在文件 eiendb_base.hpp63 行定义.

构造及析构函数说明

virtual eiendb::IDbConnection::~IDbConnection ( )
inlinevirtual

在文件 eiendb_base.hpp65 行定义.

成员函数说明

virtual size_t eiendb::IDbConnection::affectedRows ( )
virtual

受影响的行数

前置条件
在改变数据库内容或结构之后
返回
size_t

eiendb::MysqlConnection , 以及 eiendb::SqliteConnection 重载.

virtual void eiendb::IDbConnection::alive ( )
virtual

确保该连接有效(还活着)

eiendb::MysqlConnection , 以及 eiendb::SqliteConnection 重载.

virtual winux::SharedPointer<IDbStatement> eiendb::IDbConnection::buildStmt ( winux::String const &  sql)
virtual

构造一个语句对象

eiendb::SqliteConnection , 以及 eiendb::MysqlConnection 重载.

virtual winux::SharedPointer<IDbStatement> eiendb::IDbConnection::buildStmt ( winux::String const &  sql,
winux::Mixed const &  params 
)
virtual

构造一个语句对象

eiendb::SqliteConnection , 以及 eiendb::MysqlConnection 重载.

virtual winux::SharedPointer<IDbStatement> eiendb::IDbConnection::buildStmt ( winux::String const &  sql,
winux::MixedArray const &  params 
)
virtual

构造一个语句对象

eiendb::SqliteConnection , 以及 eiendb::MysqlConnection 重载.

virtual winux::SharedPointer<IDbStatement> eiendb::IDbConnection::buildStmt ( winux::String const &  sql,
winux::StringMixedMap const &  params 
)
virtual

构造一个语句对象

eiendb::SqliteConnection , 以及 eiendb::MysqlConnection 重载.

virtual bool eiendb::IDbConnection::close ( )
virtual

关闭连接

eiendb::MysqlConnection , 以及 eiendb::SqliteConnection 重载.

virtual bool eiendb::IDbConnection::connect ( )
virtual

连接数据库

eiendb::MysqlConnection , 以及 eiendb::SqliteConnection 重载.

virtual bool eiendb::IDbConnection::createDb ( winux::String const &  database)
virtual

创建一个库

参数
databasestring 数据库名
返回
boolean

eiendb::MysqlConnection , 以及 eiendb::SqliteConnection 重载.

virtual bool eiendb::IDbConnection::dropDb ( winux::String const &  database)
virtual

删除数据库

参数
databasestring 数据库名
返回
boolean

eiendb::MysqlConnection , 以及 eiendb::SqliteConnection 重载.

virtual int eiendb::IDbConnection::errNo ( )
virtual

获得错误号

返回
int
返回值
0没有错误
非0出错,可用 error() 查看错误信息

eiendb::MysqlConnection , 以及 eiendb::SqliteConnection 重载.

virtual winux::String eiendb::IDbConnection::error ( )
virtual

获得错误信息

返回
string

eiendb::MysqlConnection , 以及 eiendb::SqliteConnection 重载.

virtual winux::String eiendb::IDbConnection::escape ( winux::String const &  str,
winux::String const &  addQuote = "\'" 
)
virtual

普通文本转成SQL语句安全的文本,用做SQL语句的字符串

参数
strstring 需要换码的字符串
addQuotestring 表示需要在首尾加上的引号,为空则不加
返回
string

eiendb::MysqlConnection , 以及 eiendb::SqliteConnection 重载.

virtual winux::String eiendb::IDbConnection::escape ( void const *  buf,
size_t  size,
winux::String const &  addQuote = "\'" 
)
virtual

二进制数据转成SQL语句安全的文本,用做SQL语句的字符串

参数
bufvoid const *
sizesize_t
addQuotewinux::String const &
返回
winux::String

eiendb::SqliteConnection , 以及 eiendb::MysqlConnection 重载.

virtual bool eiendb::IDbConnection::exec ( winux::String const &  sql)
virtual

不需要数据的查询

这函数可以用来执行INSERT、UPDATE、DROP等等一些不需要查询数据的操作

参数
sqlstring
返回
bool 是否成功,改变的行数可用affectedRows()取得

eiendb::SqliteConnection , 以及 eiendb::MysqlConnection 重载.

virtual bool eiendb::IDbConnection::exec ( winux::SharedPointer< IDbStatement stmt)
virtual
virtual size_t eiendb::IDbConnection::getPrimaryKey ( winux::String const &  tableName,
winux::StringArray arrKeyColumn 
)
virtual

取得表的主键,返回主键字段数

eiendb::SqliteConnection , 以及 eiendb::MysqlConnection 重载.

virtual size_t eiendb::IDbConnection::insertId ( )
virtual

获得最后一次完成记录插入时的ID值

您可以用执行SQL里的LAST_INSERT_ID()代替此函数

返回
size_t

eiendb::SqliteConnection , 以及 eiendb::MysqlConnection 重载.

virtual winux::SharedPointer<IDbResult> eiendb::IDbConnection::listDbs ( )
virtual

获得所有数据库的一个结果集

返回
IDbResult

eiendb::SqliteConnection , 以及 eiendb::MysqlConnection 重载.

virtual winux::SharedPointer<IDbResult> eiendb::IDbConnection::listFields ( winux::String const &  tableName)
virtual

获得数据库里某表所有字段的一个结果集

参数
tableName表名
返回
IDbResult

eiendb::SqliteConnection , 以及 eiendb::MysqlConnection 重载.

virtual winux::SharedPointer<IDbResult> eiendb::IDbConnection::listTables ( )
virtual

获得数据库里所有表的一个结果集

返回
IDbResult

eiendb::SqliteConnection , 以及 eiendb::MysqlConnection 重载.

virtual size_t eiendb::IDbConnection::loadSql ( winux::String const &  sqlText,
winux::StringArray arrSql 
)
virtual

加载SQL到一个字符串数组,返回语句条数

eiendb::SqliteConnection , 以及 eiendb::MysqlConnection 重载.

virtual size_t eiendb::IDbConnection::loadSqlFile ( winux::IFile sqlScriptFile,
winux::StringArray arrSql 
)
virtual

加载SQL文件到一个字符串数组,返回语句条数

eiendb::SqliteConnection , 以及 eiendb::MysqlConnection 重载.

virtual eiendb::IDbConnection::operator bool ( ) const
pure virtual

判断一个连接是否有效

eiendb::SqliteConnection , 以及 eiendb::MysqlConnection 内被实现.

virtual winux::SharedPointer<IDbResult> eiendb::IDbConnection::query ( winux::String const &  sql)
virtual

查询数据结果

参数
sqlstring
返回
IDbResult

eiendb::MysqlConnection , 以及 eiendb::SqliteConnection 重载.

virtual winux::SharedPointer<IDbResult> eiendb::IDbConnection::query ( winux::SharedPointer< IDbStatement stmt)
virtual
virtual bool eiendb::IDbConnection::selectDb ( winux::String const &  database)
virtual

选定要操作的数据库

参数
databasestring 数据库名
返回
boolean 是否成功

eiendb::MysqlConnection , 以及 eiendb::SqliteConnection 重载.

virtual bool eiendb::IDbConnection::setLinkCharset ( winux::String const &  charset)
virtual

设置连接校验字符集

参数
charsetstring 字符集
前置条件
连接数据库之后
返回
boolean

eiendb::MysqlConnection , 以及 eiendb::SqliteConnection 重载.

virtual winux::String eiendb::IDbConnection::symbolQuotes ( winux::String const &  str)
virtual

加入标识符的引用标记,如表名,字段名等等

返回
string 加入左右俩标记到标识符

eiendb::SqliteConnection , 以及 eiendb::MysqlConnection 重载.

virtual winux::String eiendb::IDbConnection::tableDdl ( winux::String const &  tableName)
virtual

取得一张表的DDL

eiendb::SqliteConnection , 以及 eiendb::MysqlConnection 重载.


该结构体的文档由以下文件生成: