资源简介
C语言连接数据库,并对MySQL数据库中的数据进行增删改查
代码简洁,其中的display函数只是为了测试方便,可以删除
代码片段和文件信息
#include
#include
#include
#include
#include
#include
using namespace std;
MYSQL mysql *sock; //声明MySQL的句柄
/*
目前该程序只能连接指定的数据库,
无法像MySQL自带客户端那样通过输入数据库名字进行连接
*/
//显示当前连接的数据库中的所有table
void display()
{
MYSQL_RES * result;
MYSQL_ROW row;
char *query1=“SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ‘wlqing‘“;
//查询所有的表名 同时所有的表名已经在控制台上显示
if ( mysql_query(&mysql query1) != 0 )
{
printf(“查询失败,原因是: \n“);
fprintf(stderr “ %s\n“ mysql_error(&mysql));
}
else
{
if ( (result = mysql_store_result(&mysql)) == NULL ) //保存查询的结果
{
printf(“保存结果集失败,原因是: \n“);
fprintf(stderr “ %s\n“ mysql_error(&mysql));
}
else
{
while ( (row = mysql_fetch_row(result)) != NULL ) //读取结果集中的数据
{
printf(“tableName is %s \n“ row[0]); //打印当前表的名字
}
}
}
}
void select()
{
display();//查询所有的表名 同时所有的表名已经在控制台上显示
MYSQL_RES * result;
MYSQL_ROW row;
char column[100][100];
MYSQL_FIELD *fd;
char sql;
printf(“根据上面的表格列表进行数据查询,提示:select * from ‘表名‘:\n “);
getchar();
gets(&sql);
//scanf(“%[^;]“&sql);
//printf(“%s \n“&sql);
if (mysql_query(&mysql &sql) != 0 )
{
printf(“查询失败,原因是: \n“);
fprintf(stderr “ %s\n“ mysql_error(&mysql));
}
else
{
if ( (result = mysql_store_result(&mysql)) == NULL ) //保存查询的结果
{
printf(“保存结果集失败,原因是: \n“);
fprintf(stderr “ %s\n“ mysql_error(&mysql));
}
else
{
int i j ;
//printf(“结果集的数目:%s \n“(unsigned long) mysql_num_rows( result ));
for ( i = 0; fd = mysql_fetch_field( result ); i++ ) // 获取列名
{
strcpy( column[i] fd->name );
}
j = mysql_num_fields( result );//得到列的个数
for ( i = 0; i < j; i++ ) //打印得到的列名
{
printf( “%s “ column[i]);
}
printf( “\n“ );
while ( (row = mysql_fetch_row(result)) != NULL ) //读取结果集中的数据
{
for ( i = 0; i < j; i++ )
{
printf( “%s “ row[i] );//打印各个列对应的具体数据,存在的问题是无法像MySQL客户端那样对齐
}
printf( “\n“ );
}
mysql_free_result( result );//此时查询完成,释放结果集
}
}
}
//通过输入的内容在表中插入记录
void insert()
{
display();
char sql;
printf(“请输入插入操作的sql语句:\n“);
getchar();
gets(&sql);
if (mysql_query(&mysql &sql) != 0)
{
printf(“插入失败,原因是: \n“);
fprintf(stderr “ %s\n“ mysql_error(&mysql));
}
else
{
printf(“插入成功“);
}
}
//通过输入的内容对相应的记录进行修改更新
void update()
{
display();
char sql;
printf(“请输入更新操作的sql语句:\n“);
getchar();
gets(&sql);
if (mysql_query(&mysql &sql) != 0)
{
printf(“修改失败,原因是: \n“);
fprintf(stderr “ %s\n“ mysql_error(&mysql));
}
else
{
printf(“修改成功“);
}
}
//删除表中某条记录,或删除所有的记录
void Delete()
{
display();
char sql;
printf(“请输入删除操作的sql语句:\n“);
getchar();
gets(&sql);
if (mysql_query(&mysql &sql) != 0)
{
pr
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5348 2016-12-21 11:28 TestMySQL\connectMysql.cpp
文件 610 2016-12-19 17:58 TestMySQL\Debug\cl.command.1.tlog
文件 16190 2016-12-19 17:58 TestMySQL\Debug\CL.read.1.tlog
文件 268 2016-12-19 17:58 TestMySQL\Debug\CL.write.1.tlog
文件 24738 2016-12-19 17:58 TestMySQL\Debug\connectMysql.obj
文件 2 2016-12-19 17:58 TestMySQL\Debug\li
文件 2 2016-12-19 17:58 TestMySQL\Debug\li
文件 2 2016-12-19 17:58 TestMySQL\Debug\li
文件 624 2016-12-19 15:15 TestMySQL\Debug\TestMySQL.Build.CppClean.log
文件 66 2016-12-19 17:58 TestMySQL\Debug\TestMySQL.lastbuildstate
文件 2548 2016-12-19 17:58 TestMySQL\Debug\TestMySQL.log
文件 19456 2016-12-19 17:58 TestMySQL\Debug\TestMySQL.pdb
文件 0 2016-12-19 17:58 TestMySQL\Debug\TestMySQL.unsuccessfulbuild
文件 713 2016-12-19 17:58 TestMySQL\Debug\TestMySQL.vcxprojResolveAssemblyReference.cache
文件 0 2016-12-19 17:58 TestMySQL\Debug\TestMySQL.write.1.tlog
文件 175104 2016-12-19 17:58 TestMySQL\Debug\vc100.idb
文件 77824 2016-12-19 17:58 TestMySQL\Debug\vc100.pdb
文件 46530560 2016-12-21 13:27 TestMySQL\ipch\testmysql-e15f9ed8\testmysql-971c9480.ipch
文件 5296128 2016-07-12 14:41 TestMySQL\libmysql.dll
文件 26956 2016-07-12 14:41 TestMySQL\libmysql.lib
文件 31543296 2016-12-21 13:32 TestMySQL\TestMySQL.sdf
文件 1238 2016-12-19 15:15 TestMySQL\TestMySQL.sln
..A..H. 31744 2016-12-21 13:32 TestMySQL\TestMySQL.suo
文件 7741 2016-12-20 15:35 TestMySQL\TestMySQL.vcxproj
文件 950 2016-12-20 10:24 TestMySQL\TestMySQL.vcxproj.filters
文件 143 2016-12-19 14:59 TestMySQL\TestMySQL.vcxproj.user
文件 6566 2016-12-21 11:26 TestMySQL\x64\Debug\cl.command.1.tlog
文件 135304 2016-12-21 11:26 TestMySQL\x64\Debug\CL.read.1.tlog
文件 2668 2016-12-21 11:26 TestMySQL\x64\Debug\CL.write.1.tlog
文件 75520 2016-12-21 11:26 TestMySQL\x64\Debug\connectMysql.obj
............此处省略49个文件信息
评论
共有 条评论