C语言控制台程序:实现输入并保存至数据库 (c控制台接收输入数据库)

随着计算机技术的快速发展,人们对具有丰富功能的软件需求越来越多。C语言是一种快速而强大的编程语言,其编写的程序可以在各种平台上运行,深受开发者的喜爱。本文将介绍使用C语言编写的一个控制台程序,该程序将实现输入数据并保存至数据库的功能。

一、准备工作

在开始编写程序之前,需要准备好以下工具:

1. C语言编译器:本文使用的是GCC编译器,读者可以根据自己的喜好选择其他编译器。

2. 数据库管理系统:本文使用的是MySQL数据库,读者可以根据自己的需求选择其他数据库系统。

3. 数据库连接库:本文使用的是MySQL C API,它是一个开源的用于连接MySQL数据库的C语言库。

4. 开发环境:本文使用的是Windows 10操作系统和Visual Studio Code集成开发环境。

二、编写程序

本程序分为三个步骤:连接数据库、输入数据、保存至数据库。

1. 连接数据库

首先需要连接到MySQL数据库,即在程序中建立数据库连接。我们使用MySQL C API库中提供的函数进行连接,代码如下:

“`c

#include

int mn(int argc, char **argv)

{

MYSQL *conn;

MYSQL_RES *res;

MYSQL_ROW row;

conn = mysql_init(NULL);

// Connect to database

if (!mysql_real_connect(conn, “localhost”, “username”, “password”, “database”, 0, NULL, 0))

{

fprintf(stderr, “%s\n”, mysql_error(conn));

exit(1);

}

// …

mysql_close(conn);

return 0;

}

“`

在这段代码中,我们首先初始化了一个MYSQL结构体,然后使用mysql_real_connect函数连接到本地MySQL数据库。此处需要填写连接的主机、用户名、密码和数据库名。连接成功后,返回的conn变量即为建立的数据库连接。

2. 输入数据

接下来,我们使用scanf函数获取用户输入的数据,代码如下:

“`c

// Input data

char name[20];

int age;

printf(“Please enter name and age:\n”);

scanf(“%s %d”, name, &age);

“`

这段代码中,我们定义了一个字符数组和一个整型变量,然后使用scanf函数依次读入用户输入的字符串和整数。

3. 保存至数据库

我们将输入的数据保存至MySQL数据库中。使用mysql_query函数执行MySQL语句即可,代码如下:

“`c

// Save to database

char query[100];

sprintf(query, “INSERT INTO `user` (`name`, `age`) VALUES (‘%s’, ‘%d’)”, name, age);

if (mysql_query(conn, query))

{

fprintf(stderr, “%s\n”, mysql_error(conn));

exit(1);

}

“`

这段代码中,我们定义了一个字符串数组query,并使用sprintf函数将要执行的MySQL语句填写到该数组中。这里使用INSERT语句将输入数据保存至user表中。最后使用mysql_query函数执行该MySQL语句。

三、完整程序

下面是上述代码的完整程序:

“`c

#include

#include

#include

int mn(int argc, char **argv)

{

MYSQL *conn;

conn = mysql_init(NULL);

// Connect to database

if (!mysql_real_connect(conn, “localhost”, “username”, “password”, “database”, 0, NULL, 0))

{

fprintf(stderr, “%s\n”, mysql_error(conn));

exit(1);

}

// Input data

char name[20];

int age;

printf(“Please enter name and age:\n”);

scanf(“%s %d”, name, &age);

// Save to database

char query[100];

sprintf(query, “INSERT INTO `user` (`name`, `age`) VALUES (‘%s’, ‘%d’)”, name, age);

if (mysql_query(conn, query))

{

fprintf(stderr, “%s\n”, mysql_error(conn));

exit(1);

}

mysql_close(conn);

return 0;

}

“`

四、运行程序

在编译和运行程序前,需要在MySQL数据库中创建一个名为user的表。可以使用以下MySQL语句创建:

“`sql

CREATE TABLE `user` (

`id` int(11) unsigned NOT NULL AUTO_INCREMENT,

`name` varchar(20) NOT NULL DEFAULT ”,

`age` int(11) NOT NULL DEFAULT ‘0’,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

“`

在控制台中运行该程序,输入姓名和年龄,程序将会将输入的数据保存至MySQL数据库中。

五、


数据运维技术 » C语言控制台程序:实现输入并保存至数据库 (c控制台接收输入数据库)