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数据库中。
五、