作者:ndmlhr | 来源:互联网 | 2018-04-11 15:42
Linux学习笔记
bitsCN.com
Linux下C++/C连接MySQL数据库(二)--返回数据的SQL
引:
返回数据的SQL是指通过查询语句从数据库中取出满足条件的数据记录
从MySQL数据库值哦功能检索数据有4个步骤:
1)发出查询
2)检索数据
3)处理数据
4)整理所需要的数据
用mysql_query()发出查询,检索数据可以使用mysql_store_result()或mysql_use_result(),取决与怎样检索数据,接着是调用mysql_fetch_row()来处理数据,最后,还必须调用mysql_free_result()以允许MySQL进行必要的整理工作。
1、一次提取所有数据
MYSQL_RES *mysql_store_result(MYSQL * connection);//成功返回结构体指针,失败返回NULL my_ulonglong mysql_num_row(MYSQL_RES * result);//减速实际返回的行数 MYSQL_ROW mysql_fetch_row(MYSQL_RES * result);//从mysql_store_result()中得到结果的结构体,并从中检索单个行,当没有更多的数据,或者出错时,返回NULL void mysql_free_result(MYSQL_RES * result);//使mySQL数据库整理分配的对象,关闭连接.
示例:
#include #include #include #include using namespace std;void mysql_err_function(MYSQL * connection);int main(){ MYSQL * connection; cOnnection= mysql_init(NULL); if (!connection) { mysql_err_function(connection); } cOnnection= mysql_real_connect(connection,"localhost","root","123456","test",0,NULL,0); if (!connection) { mysql_err_function(connection); } cout <<"Connection to MySQL Server is Success..." <2、一次提取一行数据,用于处理了大量的数据集
MYSQL_RES *mysql_use_result(MYSQL * connection); //成功返回结果集,失败返回NULL
一次取全部数据增加了网络负载,增加了时延,但是可以保证数据的完整性。
示例:
#include #include #include using namespace std;void mysql_err_function(MYSQL * connection);int main(){ MYSQL * connection; cOnnection= mysql_init(NULL); if (mysql_real_connect(connection,"localhost","root","123456","test",0,NULL,0)) { cout <<"Connection to MySQL Server is Succeed..." < bitsCN.com