- #include <mysql/mysql.h>
- #include <stdio.h>
- #include <string.h>
- int main()
- {
- MYSQL mysql;//连接数据库的变量
- MYSQL_RES *res;//存放查询结果的变量
- MYSQL_ROW row;
- char *query;
- int t,r;
- char *server= "localhost";
- char *user = "root";
- char *password="jinyong";
- char *database = "test";
- mysql_init(&mysql); //连接数据库前,必须调用此函数初始化变量
- /**
- * MYSQL *mysql_init(MYSQL *mysql)
- * 传入MYSQL类型的指针
- * 返回一个被初始化的MYSQL*句柄
- * 在内存不够的情况下,返回NULL
- */
- if(!mysql_real_connect(&mysql,server,user,password,database,0/*TCP IP端口*/,NULL/*Unix socket连接类型*/,0/*运行成ODBC数据库的标记*/))
- {
- printf("Error connection to database:%s/n",mysql_error(&mysql));
- }else
- printf("Connected.../n");
- query = "select * from t1";
- printf("query execute:%s/n",query);
- t = mysql_real_query(&mysql,query,(unsigned int) strlen(query));
- /**
- *
- * int STDCALL mysql_real_query(MYSQL *mysql,const char *q, unsigned int length);
- * 执行任何SQL查询语句进行查询。
- * mysql是我们前面用过的变量,q是SQL查询语句,length是这个查询语句的长度。
- */
- if(t)
- {
- printf("Error making query:%s/n",mysql_error(&mysql));
- }else
- printf("[%s] made.../n",query);
- res = mysql_store_result(&mysql);
- /**
- * mysql_store_result(MYSQL *mysql)
- * 立刻检索全部结果
- *
- * mysql_use_result(MYSQL *mysql)
- * 初始化一个一行一行地结果集合的检索
- */
- while(row = mysql_fetch_row(res))
- {
- /**
- * MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result);
- * 检索行
- */
- for(t=0;t<=mysql_num_fields(res);t++)
- {
- printf("%s",row[t]);
- }
- printf("/n");
- }
- printf("mysql_free_result.../n");
- mysql_free_result(res);
- /**
- * mysql_free_result()
- * 释放由它使用的内存。
- */
- sleep(1);
- //execute the insert query
- query = "insert into t1(id,name) values(3,'kunp')";
- t = mysql_real_query(&mysql,query,(unsigned int) strlen(query));
- if(t)
- {
- printf("Error making query:%s/n",query);
- mysql_error(&mysql);
- }
- else printf("[%s] made.../n",query);
- mysql_close(&mysql);
- /**
- * void mysql_close(MYSQL *mysql)
- * 传入MYSQL类型的指针
- * 功能,关闭一个服务器连接,并释放与连接相关的内存i
- */
- return 1;
- }
- //编译:gcc testsql.c -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -o testsql
C++连接查询mysql数据库的漂亮代码
最新推荐文章于 2023-12-23 21:14:44 发布