C语言连接数据库代码
时间: 2023-08-18 14:15:05 浏览: 97
C语言连接数据库通常需要使用数据库API,不同的数据库有不同的API,这里以MySQL数据库为例演示如何连接数据库:
1. 下载安装MySQL C API库文件
在MySQL官网下载相应平台的MySQL C API库文件,将其解压并安装到系统中。
2. 引入MySQL C API头文件
在C语言程序中引入MySQL C API头文件,通常为`mysql.h`。
3. 连接MySQL数据库
使用`mysql_init()`函数初始化一个MySQL连接对象,然后使用`mysql_real_connect()`函数连接到MySQL数据库:
```c
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, host, user, password, database, 0, NULL, 0))
{
fprintf(stderr, "%s\n", mysql_error(conn));
return 1;
}
```
其中,`host`表示MySQL服务器地址,`user`表示MySQL用户名,`password`表示MySQL密码,`database`表示要连接的数据库名。
4. 执行SQL语句
使用`mysql_query()`函数执行SQL语句,并使用`mysql_store_result()`函数获取查询结果:
```c
if (mysql_query(conn, "SELECT * FROM mytable"))
{
fprintf(stderr, "%s\n", mysql_error(conn));
return 1;
}
res = mysql_store_result(conn);
while ((row = mysql_fetch_row(res)) != NULL)
{
printf("%s %s\n", row[0], row[1]);
}
```
其中,`mysql_fetch_row()`函数返回一个指向当前行的指针,`row[i]`表示该行第i列的值。
5. 关闭连接
使用`mysql_close()`函数关闭MySQL连接:
```c
mysql_free_result(res);
mysql_close(conn);
```
完整示例代码:
```c
#include <stdio.h>
#include <mysql.h>
int main()
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *host = "localhost";
char *user = "root";
char *password = "password";
char *database = "mydatabase";
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, host, user, password, database, 0, NULL, 0))
{
fprintf(stderr, "%s\n", mysql_error(conn));
return 1;
}
if (mysql_query(conn, "SELECT * FROM mytable"))
{
fprintf(stderr, "%s\n", mysql_error(conn));
return 1;
}
res = mysql_store_result(conn);
while ((row = mysql_fetch_row(res)) != NULL)
{
printf("%s %s\n", row[0], row[1]);
}
mysql_free_result(res);
mysql_close(conn);
return 0;
}
```
阅读全文