C++如何调用数据库
Posted 龙行虎步工作室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++如何调用数据库相关的知识,希望对你有一定的参考价值。
最近遇到一个在地名数据中查询地名的问题,不太了解,只知道和数据库相关,数据库也不太明白,借此机会学习一下。
示例代码:test.cpp
int mysql_library_init(int argc, char **argv, char **groups)
在调用任何其他mysql函数之前,调用此函数初始化MySQL客户端库。
MYSQL *mysql_init(MYSQL *mysql)
int mysql_options(MYSQL *mysql, enum mysql_option option, const void *arg)
可用于设置额外的连接选项并影响连接的行为。可以多次调用此函数以设置多个选项。要检索选项值,可使用mysql_get_option()。
尝试连接正在运行的mysql的host, mysql_real_connect()必须先成功完成,然后才能执行需要有效MYSQL连接的任何其他API函数。
注意每个表头的名称,这么写是有含义的。
int mysql_query(MYSQL *mysql, const char *stmt_str)
执行sql语句,第二个参数是包含sql语句的字符串数组或字符指针
MYSQL_RES *mysql_store_result(MYSQL *mysql)
任何有结果集的mysql_query()调用之后需要再调用mysql_store_result()来获得结果
unsigned int mysql_num_fields(MYSQL_RES *result)
返回结果集中的列数
MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)
检索任意行的结果
void mysql_library_end(void)
完成使用库后调用它(例如,在断开与服务器的连接后
void mysql_close(MYSQL *mysql)
关闭先前打开的连接
void mysql_free_result(MYSQL_RES *result)
完成结果集后,必须通过调用释放它使用的内存,释放后不要尝试访问结果集
注:使用完数据库之后一定不要忘记释放内存和断开连接,关闭数据库!(mysql_free_result()、mysql_close()、mysql_library_end())
最后在主流程中调用
int main()
{
Mysqltest();
return 0;
}
编译:
PS:
bool mysql_change_user(MYSQL *mysql, const char *user, const char *password, const char *db)
更改用户并使指定的数据库 db成为指定连接
以上是关于C++如何调用数据库的主要内容,如果未能解决你的问题,请参考以下文章
c# - 如何调用分配输出缓冲区以在c#中返回数据的非托管c++函数?
如何将基类的未知子类放在一个数据结构中并在 C++ 中调用重写的基类函数