目的
なんらかの理由でC++から接続できたら便利な場合、特定のDBアクセスに対してだけパフォーマンス出したい場合に使う。
ソース
https://github.com/0xfffffff7/MySQLWrapper
依存
libmysqlclient
サンプル
#include "mysqlwrapper.h"
// MYSQL TABLE EXAMPLE
// CREATE TABLE book
// (
// id INT(11) NOT NULL AUTO_INCREMENT,
// title VARCHAR(64),
// author_name VARCHAR(32),
// detail TEXT,
// PRIMARY KEY (id)
// );
int main(int argc, char* argv[])
{
const char *server = "localhost";
const char *user = "root";
const char *password = "password";
const char *database = "myapp";
MySqlWrapper sql;
sql.init();
// 接続
if(sql.connect(server, user, password, database) == false){
printf("error %s\n", sql.getError());
return 0;
}
// クエリを投げる
if( sql.query("DELETE FROM book;") == false){
printf("error %s\n", sql.getError());
return 0;
}
sql.clear();
// クエリを投げる
if( sql.query("INSERT INTO book (title, author_name) VALUES ('book_A', 'auth_A');") == false){
printf("error %s\n", sql.getError());
return 0;
}
sql.clear();
if( sql.query("INSERT INTO book (title, author_name) VALUES ('book_B', 'auth_B');") == false){
printf("error %s\n", sql.getError());
return 0;
}
sql.clear();
// クエリを投げる
if( sql.query("SELECT * FROM book;") == false){
printf("error %s\n", sql.getError());
return 0;
}
// 結果を取得
long long nRows = sql.getRowCount();
MYSQL_ROW row;
while( (row = sql.getRow()) != NULL ){
printf("%s %s %s\n", row[0], row[1], row[2]);
}
sql.clear();
sql.close();
return 0;
}