C++如何调用数据库

Posted 龙行虎步工作室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++如何调用数据库相关的知识,希望对你有一定的参考价值。

最近遇到一个在地名数据中查询地名的问题,不太了解,只知道和数据库相关,数据库也不太明白,借此机会学习一下。

示例代码:test.cpp

int mysql_library_init(int argc, char **argv, char **groups)

在调用任何其他mysql函数之前,调用此函数初始化MySQL客户端库。

C++如何调用数据库(一)


MYSQL *mysql_init(MYSQL *mysql)

C++如何调用数据库(一)


int mysql_options(MYSQL *mysql, enum mysql_option option, const void *arg)

可用于设置额外的连接选项并影响连接的行为。可以多次调用此函数以设置多个选项。要检索选项值,可使用mysql_get_option()。


C++如何调用数据库(一)

C++如何调用数据库(一)

尝试连接正在运行的mysql的host, mysql_real_connect()必须先成功完成,然后才能执行需要有效MYSQL连接的任何其他API函数。

C++如何调用数据库(一)

注意每个表头的名称,这么写是有含义的。

C++如何调用数据库(一)

int mysql_query(MYSQL *mysql, const char *stmt_str)

执行sql语句,第二个参数是包含sql语句的字符串数组或字符指针

C++如何调用数据库(一)

C++如何调用数据库(一)


 MYSQL_RES *mysql_store_result(MYSQL *mysql)

任何有结果集的mysql_query()调用之后需要再调用mysql_store_result()来获得结果

C++如何调用数据库(一)

unsigned int mysql_num_fields(MYSQL_RES *result)

返回结果集中的列数

C++如何调用数据库(一)

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++ 中的类中递归调用函数方法?

请问如何用c++ 调用oracle存储过程?

如何将基类的未知子类放在一个数据结构中并在 C++ 中调用重写的基类函数

如何实现js写的网页将参数传到服务器,然后服务器调用C++程序?

从 C# 调用带有 C++ 标头的 dll