首页 > 数据库 > MySQL > 正文
MySQL学习笔记_12_Linux下C++/C连接MySQL数据库(二)--返回数据的SQL
2015-05-11       个评论    来源:深南大盗  
收藏    我要投稿


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..." << endl;
string query; getline(cin,query);
int res = mysql_query(connection,query.c_str());
if (res) {
mysql_err_function(connection); }
MYSQL_RES * my_res = mysql_store_result(connection);
cout << "Retrieved " << mysql_num_rows(my_res) << "rows" << endl;
MYSQL_ROW sqlrow;
while ((sqlrow = mysql_fetch_row(my_res))) {
cout << "Fetched data..." << endl; }
mysql_free_result(my_res);
mysql_close(connection); cout << "Connection to MySQL Server is closed!" << endl;
return 0;
}
void mysql_err_function(MYSQL * connection) {
if (mysql_errno(connection)) {
cout << "Error " << mysql_errno(connection) << " : " << mysql_error(connection) << endl;
exit(-1);
} }
[cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片
MYSQL_RES *mysql_use_result(MYSQL * connection); //成功返回结果集,失败返回NULL
[cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片
#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..." << endl; string query;
getline(cin,query);
int res = mysql_query(connection,query.c_str()); if (res)
{ mysql_err_function(connection);//mysql_err_function()实现代码参考上例
} else
{ MYSQL_RES * my_res = mysql_use_result(connection);
if (my_res) {
MYSQL_ROW sqlrow; while ((sqlrow = mysql_fetch_row(my_res)))
{ cout << "Fetching the Data..." << endl;
}
mysql_free_result(my_res); }
else {
mysql_err_function(connection); }
}
mysql_close(connection); cout << "Connection to MySQL Server is Closed!" << endl;
} else
{ mysql_err_function(connection);
} }

 


点击复制链接 与好友分享!回本站首页
相关TAG标签 数据库 笔记 数据
上一篇:MySQL学习笔记_6_SQL语言的设计与编写(下)
下一篇:MySQL学习笔记_2_MySQL创建数据表(上)
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做实用的IT技术学习网站