Mysql数据库学习(四):常用MysqlCAPI介绍和使用、封装一个访问Mysql数据库的类MysqlDB(三)

2014-11-24 10:55:07 · 作者: · 浏览: 1
_result(mysql_res);

return rs;

}

unsigned long long MysqlDB::ExecSQL(const char* sql)
{
if (mysql_query(mysql_, sql) != 0)
{
//int errno = mysql_errno(mysql_);
string errmsg = mysql_error(mysql_);
throw Exception("DB ERROR:"+errmsg);
}

return mysql_affected_rows(mysql_);

}

void MysqlDB::StartTransaction()
{
if (mysql_query(mysql_, "START TRANSACTION") != 0)
{
//int errno = mysql_errno(mysql_);
string errmsg = mysql_error(mysql_);
throw Exception("DB ERROR:"+errmsg);
}
}

void MysqlDB::Commit()
{
if (mysql_query( mysql_, "COMMIT") != 0)
{
//int errno = mysql_errno(mysql_);
string errmsg = mysql_error(mysql_);
throw Exception("DB ERROR:"+errmsg);
}
}

void MysqlDB::Rollback()
{
if (mysql_query(mysql_, "ROLLBACK") == 0)
{
//int errno = mysql_errno(mysql_);
string errmsg = mysql_error(mysql_);
throw Exception("DB ERROR:"+errmsg);
}
}


unsigned long long MysqlDB::GetInsertId() const
{
return mysql_insert_id(mysql_); //auto_increment字段
}
具体使用方法就很简单了,包含MysqlDB.h,比如 MysqlDB mysqldb; mysqldb.open(); mysqldb.QuerySQL(); ...

参考:

数据库系统概论》

mysql 5.1 参考手册