Poco資料庫操作使用者手冊 二

2021-06-19 07:28:38 字數 2127 閱讀 8152

記錄集(recordset)

poco::data::recordset類提供了乙個通用的方法與資料庫的表進行互動,你可以使用recordset進行:

a. 遍歷資料表中所有的行與列

b. 獲取各列的元資訊,比如名稱,型別,長度等.

使用recordset,需要先建立乙個statement並執行他,從statement建立乙個recordset,如下:

statement select(session);

select << "select * from person";

select.execute();

recordset rs(select);

可以使用statement的limit限定來控制recordset的行數。

下面的例子演示如何遍歷recordset的每行每列:

bool more = rs.movefirst();

while (more)

std::cout << std::endl;

more = rs.movenext();

} tuples

在資料庫中的列型別已知的情閱下,poco::tuple以及tuple陣列提供了更簡便的方法獲取資料。因為它們的tylehandlers非常容易獲取。看看如下**:

typedef poco::tupleperson;

typedef std::vectorpeople;

people people;

people.push_back(person("bart simpson", "springfield", 12));

people.push_back(person("lisa simpson", "springfield", 10));

statement insert(session);

insert << "insert into person values(:name, :address, :age)",

use(people), now;

當然,tuple也可以用於查詢:

statement select(session);

select << "select name, address, age from person", into(people),  now;

for (people::const_iterator it = people.begin(); it != people.end(); ++it)

session池

通常建立乙個資料庫連線是為了進行一次查詢。為此有必要儲存乙個session物件以便後續可以重複使用。

poco::data::sessionpool管理了一組資料庫會話(session),當需要使用會話時,session池首先查詢已初始化的會話,如果找到了,將返回乙個session物件給呼叫者,並設定此session物件為使用當中。如果在session池中未找到可用session,session池將建立乙個新的session給呼叫者。為避免建立過多的會話,可以設定session池的最大會話數。

以下是session池的使用示例:

sessionpool pool("odbc", "...");

// ...

session sess(pool.get());

將會話變數消亡時,從池中分配的會話將自動回到池中。

mysql示例

以下是乙個mysql連線db讀取資料的示例,與sqlite相比,只是在建立session時引數不一樣。

mysql::connector::registerconnector();

session sess("mysql", "host=localhost;port=3306;user=tom;password=zhou;db=tomzhou");

statement query(sess);

query << "select * from tbluser";

query.execute();

recordset rs(query);

bool more = rs.movefirst();

while (more)

Poco資料庫操作

1.poco進行資料庫操作的步驟一般是 a.建立會話 session b.從db中讀寫資料 into,use c.使用statements d.使用容器 collection 資料,集合.e.使用limit限定 f.如何使用複雜的資料型別 如何將乙個c 物件對映到資料庫的表 下面是乙個簡單的運算元據...

Poco資料庫操作

記錄集 recordset poco data recordset類提供了乙個通用的方法與資料庫的表進行互動,你可以使用recordset進行 a.遍歷資料表中所有的行與列 b.獲取各列的元資訊,比如名稱,型別,長度等.使用recordset,需要先建立乙個statement並執行他,從statem...

mysql創使用者手冊 MySQL 建立資料庫

使用 mysqladmin 建立資料庫 使用普通使用者,你可能需要特定的許可權來建立或者刪除 mysql 資料庫。所以我們這邊使用root使用者登入,root使用者擁有最高許可權,可以使用 mysql mysqladmin 命令來建立資料庫。例項以下命令簡單的演示了建立資料庫的過程,資料名為 php...