どのように私はC++でのトランザクションにクエリの量をラップに行きますか? MySQLデータベースと対話するC++でC++:MySQLの取引
#include "/usr/include/mysql/mysql.h"
:私は、このファイルを使用して、Ubuntuの10に取り組んでいます。
EDIT:今私はそうのように、小さなラッパークラスを介してクエリを実行している:
MYSQL_RES* PDB::query(string query)
{
int s = mysql_query(this->connection, query.c_str());
if(s != 0)
{
cout << mysql_error(&this->mysql) << endl;
}
return mysql_store_result(this->connection);
}
MYSQL_ROW PDB::getarray(MYSQL_RES *res)
{
return mysql_fetch_row(res);
}
// example one
MYSQL_RES res = db->query("SELECT * FROM `table` WHERE 1");
while(MYSQL_ROW row = db->getarray(res))
{
cout << row[0] << endl;
}
SO私はちょうどのような一つの大きなクエリ文字列にすることができます:「トランザクションを開始し、UPDATE ...; UPDATE ...; UPDATE。 ..;コミット; "その後、通常のmysql_query()を実行しますか? – Josh
必ずしもすべてを1つのステートメントに入れる必要はありません。 DB->クエリ( "TRANSACTIONをSTART"); - DB->クエリ( "UPDATE ..."); - DB->クエリ( "UPDATE ..."); - db-> query( "COMMIT"); ... –