我想提出一個包裝爲我用的數據庫,採用波科::數據庫:: ODBCC++類成員初始化(POCO)
正常的代碼應該是這樣的:
Poco::Data::ODBC::Connector::registerConnector();
Session ses("ODBC", "DSN=mytest;Uid=mytest;Pwd=mytest");
bool bConnected = ses.isConnected();
Statement select(ses);
select << "SELECT firstname FROM Patients", range(0, 10);
RecordSet rs(select);
while (!select.done())
{
select.execute();
bool more = rs.moveFirst();
while (more)
{
for (std::size_t col = 0; col < rs.columnCount(); ++col)
{
std::cout << rs[col].convert<std::string>() << " ";
}
std::cout << std::endl;
more = rs.moveNext();
}
}
Poco::Data::ODBC::Connector::unregisterConnector();
這工作得很好。
現在對於我的課
class database{
Session ses; //Since this is needed all for all the queries.
public:
database():ses("ODBC", "DSN=name;uid=user;pwd=pass"){
}
};//end class
我如何的ses
初始化調用之前調用Poco::Data::ODBC::Connector::registerConnector()
我試圖
database():Poco::Data::ODBC::Connector::registerConnector(),ses("ODBC", "DSN=name;uid=user;pwd=pass"){
}
但這並不適用。它提供了錯誤
'registerConnector' : is not a member of 'Poco::Data::ODBC::Connector'
我應該怎麼辦呢?
'ses'用於像'ses <<「SELECT COUNT(*)FROM customer」這樣的語句,進入(count),now;',我早些時候試過這種方法,但是這些語句給出了錯誤。 – Pheonix
'(* ses)<<「SELECT COUNT(*)FROM customer」'將起作用。 或者:Session&sessRef = * ses; sessRef <<「SELECT COUNT(*)FROM customer'如果你覺得它太笨拙 –
謝謝,使用第一個版本 – Pheonix