`
dbcman
  • 浏览: 16801 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

C连接代码

    博客分类:
  • C
 
阅读更多

 

 #include <mysql.h>/*注意要包含这个头文件*/
 #include <string.h>
 #include <stdlib.h>
 #include <stdio.h>
 
 /*定义了一些数据库连接需要的宏*/
 #define HOST "localhost"
 #define USERNAME "ABitNo"
 #define PASSWORD "ABitNo"
 #define DATABASE "abitno"
 
 /*这个函数用来执行传入的sql語句*/
 void exe_sql(char* sql) {
 
     MYSQL my_connection; /*这是一个数据库连接*/
     int res; /*执行sql語句后的返回标志*/
 
     /*初始化mysql连接my_connection*/
     mysql_init(&my_connection);
 
     /*这里就是用了mysql.h里的一个函数,用我们之前定义的那些宏建立mysql连接,并
     返回一个值,返回不为空证明连接是成功的*/
     if (mysql_real_connect(&my_connection, HOST, USERNAME, PASSWORD, DATABASE,
             0, NULL, CLIENT_FOUND_ROWS)) {/*连接成功*/
 
         printf("数据库执行exe_sql连接成功!\n");
 
         /*这句话是设置查询编码为utf8,这样支持中文*/
         mysql_query(&my_connection, "set names utf8");
 
         /*下面这句话就是用mysql_query函数来执行我们刚刚传入的sql語句,
         这会返回一个int值,如果为0,证明語句执行成功*/
         res = mysql_query(&my_connection, sql);
 
         if (res) {/*现在就代表执行失败了*/
             printf("Error: mysql_query !\n");
             /*不要忘了关闭连接*/
             mysql_close(&my_connection);
         } else {/*现在就代表执行成功了*/
             /*mysql_affected_rows会返回执行sql后影响的行数*/
             printf("%d 行受到影响!\n\n", mysql_affected_rows(&my_connection));
             /*不要忘了关闭连接*/
             mysql_close(&my_connection);
         }
 
     } else {
         /*数据库连接失败*/
         printf("数据库执行exe_sql连接失败!\n");
     }
 }
 
 /*这个函数用来执行传入的sql語句,并打印出查询結果*/
 void query_sql(char* sql) {
     MYSQL my_connection; /*这是一个数据库连接*/
     int res; /*执行sql語句后的返回标志*/
     MYSQL_RES *res_ptr; /*指向查询结果的指针*/
     MYSQL_FIELD *field; /*字段结构指针*/
     MYSQL_ROW result_row; /*按行返回的查询信息*/
 
     int row, column; /*查询返回的行数和列数*/
     int i, j; /*只是控制循环的两个变量*/
 
     /*初始化mysql连接my_connection*/
     mysql_init(&my_connection);
 
     /*这里就是用了mysql.h里的一个函数,用我们之前定义的那些宏建立mysql连接,并
     返回一个值,返回不为空证明连接是成功的*/
     if (mysql_real_connect(&my_connection, HOST, USERNAME, PASSWORD, DATABASE,
             0, NULL, CLIENT_FOUND_ROWS)) {/*Connection success*/
 
         printf("数据库查询query_sql连接成功!\n");
 
         /*这句话是设置查询编码为utf8,这样支持中文*/
         mysql_query(&my_connection, "set names utf8");
 
         /*下面这句话就是用mysql_query函数来执行我们刚刚传入的sql語句,
         这会返回一个int值,如果为0,证明語句执行成功*/
         res = mysql_query(&my_connection, sql);
 
         if (res) { /*现在就代表执行失败了*/
             printf("Error: mysql_query !\n");
             /*不要忘了关闭连接*/
             mysql_close(&my_connection);
         } else { /*现在就代表执行成功了*/
             /*将查询的結果给res_ptr*/
             res_ptr = mysql_store_result(&my_connection);
 
             /*如果结果不为空,就把结果print*/
             if (res_ptr) {
                 /*取得結果的行数和*/
                 column = mysql_num_fields(res_ptr);
                 row = mysql_num_rows(res_ptr) + 1;
                 printf("查询到 %lu 行 \n", row);
 
                 /*输出結果的字段名*/
                 for (i = 0; field = mysql_fetch_field(res_ptr); i++)
                     printf("%s\t", field->name);
                 printf("\n");
 
                 /*按行输出結果*/
                 for (i = 1; i < row; i++) {
                     result_row = mysql_fetch_row(res_ptr);
                     for (j = 0; j < column; j++)
                         printf("%s\t", result_row[j]);
                     printf("\n");
                 }
 
             }
 
             /*不要忘了关闭连接*/
             mysql_close(&my_connection);
         }
     }
 }
 
 int main(int argc, char *argv[]) {
     /*测试下向里面插入数据*/
     char *exe = "insert into abitno values('ABitNo','http://ABitNo.LinPie.com');";
     exe_sql(exe);
 
     /*测试下查询*/
     char *query = "select * from abitno;";
     query_sql(query);
 
     return 0;
 }

 http://abitno.me/linux-c-connect-mysql.html

分享到:
评论

相关推荐

    C语言连接数据库代码

    在C语言连接SQL Server时,通常会用到Microsoft提供的ODBC(Open Database Connectivity)驱动程序,这是一个标准的API,允许应用程序与各种数据库系统进行交互。ODBC驱动程序管理器(ODBC Driver Manager)负责处理...

    c语言连接达梦MD数据库

    总的来说,C语言连接达梦数据库的过程涉及ODBC接口的使用,配置DSN,编写连接和查询代码,以及在VS2013中的项目设置。通过学习和实践这些步骤,开发者可以构建自己的C语言应用程序,实现与达梦数据库的有效交互。...

    怎么使用C语言连接SQL数据库

    ### 如何使用C语言连接SQL数据库 在计算机编程领域中,使用C语言连接SQL数据库是一项基本而重要的技能,尤其对于初级和中级学习者而言。本文将详细介绍如何利用C语言进行数据库连接与简单查询操作,帮助读者更好地...

    C语言连接Access数据库

    ### C语言连接Access数据库知识点详解 #### 一、引言 在软件开发过程中,数据库的访问与操作是一项基本且重要的任务。本篇文章将基于提供的示例代码,详细讲解如何使用C语言来连接并操作Microsoft Access数据库。...

    c语言连接两个字符串的资料源代码.zip

    c语言连接两个字符串的资料源代码.zipc语言连接两个字符串的资料源代码.zipc语言连接两个字符串的资料源代码.zipc语言连接两个字符串的资料源代码.zipc语言连接两个字符串的资料源代码.zipc语言连接两个字符串的资料...

    C语言版本MQTT协议,连接阿里云物联网平台客户端代码

    本篇将详细介绍如何使用C语言编写MQTT客户端代码来连接阿里云物联网平台。 首先,理解MQTT协议的基本概念: 1. 发布/订阅模型:MQTT采用这种模式,客户端可以作为发布者发布消息,也可以作为订阅者接收消息。 2. ...

    用C语言连接mysql

    下面是一段简单的示例代码,用于演示如何使用C语言连接MySQL数据库: ```c #include #include #include "mysql.h" int main() { MYSQL mysql; // 创建MYSQL结构体实例 mysql_init(&mysql); // 初始化MYSQL...

    STM32客户端连接H7. ETH-TCP Client客户端 C语言源代码

    在C语言源代码中,会包含初始化以太网接口、配置IP地址和子网掩码、设置端口号以及发起连接请求等步骤。在STM32-H7微控制器上,这些功能可能依赖于STM32 HAL库或者LL(Low Layer)库,这两个库提供了易于使用的API来...

    压力传感器C语言实现代码

    在压缩包文件"yl"中,可能包含有实现以上功能的C语言源代码文件。这些文件可能包括主函数(main.c)以及包含特定功能的头文件(如sensor.h,adc.h等)。通过阅读和理解这些代码,你可以学习到如何与压力传感器交互,...

    C语言连接SQL数据库例子

    C语言连接SQL数据库例子 本文将详细解释使用C语言连接SQL Server数据库的方法,包括连接数据库、查询数据、更新数据等操作的实现细节。 一、连接数据库 在连接SQL Server数据库之前,需要包含必要的头文件,包括`...

    c语言连接mysql数据库

    首先,要使用C语言连接MySQL数据库,你需要安装MySQL的C API库,这是MySQL提供的一套用于在C或C++中操作数据库的接口。在Windows环境下,如果你使用的是Visual Studio(VS)或者Visual C++ 6.0(VC++),你可以通过...

    C语言 不使用strcat函数实现连接两个字符串功能代码

    下面是用C语言实现不使用是strcat 函数实现连接两个字符串的功能。 源代码: #include void constring(char s[],char t[],char q[]); //函数声明 int main(void) { char s[100]; char q[100]; char t[200]; ...

    C语言库函数代码以及说明

    这个名为"C语言库函数代码以及说明"的压缩包,显然是一个非常有价值的资源,对于初学者和有经验的开发者来说都是一个宝贵的参考资料。 C语言的库函数主要包括标准输入/输出、字符串处理、数学运算、内存管理、错误...

    使用C语言连接MYSQL数据库源代码

    本项目“使用C语言连接MYSQL数据库源代码”旨在展示如何通过C语言实现对MySQL数据库的连接、查询、插入、更新和删除等操作。以下将详细介绍涉及的知识点: 1. **MySQL Connector/C**: 这是MySQL官方提供的C语言接口...

    93C66的C语言原代码及其头文件

    1. **SPI/I2C通信**:根据93C66连接的接口,正确设置微控制器的SPI/I2C引脚,并实现相应的传输协议。这通常涉及到初始化SPI/I2C总线、发送命令和数据、处理应答等。 2. **错误处理**:在读写操作中,需要检查返回值...

    c语言代码规范的含c语言代码的格式

    C语言代码规范是编程的基本要求,它旨在提高代码的可读性和可维护性,使得其他开发者能够更容易地理解和修改代码。以下是对标题和描述中提到的C语言代码规范的详细说明: 1. **注释规范**: - 注释是理解代码的...

    c语言socket编程 与服务器长连接的客户端程序

    你需要为可能出现的错误(如网络中断、连接失败等)编写合适的错误处理代码。 通过上述步骤,我们可以构建一个基本的C语言socket编程的客户端程序,并实现与服务器的长连接。在实际项目中,可能还需要考虑更多的...

    C语言单词连接代码

    【问题描述】 对N(2≤N≤100000)个由M(2≤M≤1000)个小写字母组成的英文单词排序, 使得相邻的两个单词中前一个单词的末字母等于后一个单词的首字母。 【输入形式】 ...输入文件有N(2≤N≤100000)行,每行只含一...

    c语言连接数据库的代码.docx

    c语言连接数据库的代码.docx

    c语言游戏代码高难度参考

    在C语言游戏代码高难度参考这个主题中,我们主要探讨的是如何通过编写游戏代码来提升C语言编程技能。C语言是一种基础且强大的编程语言,它以其高效、灵活和底层控制能力而闻名。对于想要在C语言领域有所建树的开发者...

Global site tag (gtag.js) - Google Analytics