11.28练习

1、简单的数据库的添加,删除,修改

#include <stdio.h>
#include <sqlite3.h>
#include <stdlib.h>
#include <string.h>

int do_in(sqlite3* db)
{
	char sql[128] = "insert into stu values(1,'11','11');";
	char* errmsg = NULL;
	if(sqlite3_exec(db,sql,NULL,NULL,&errmsg) != SQLITE_OK){
		fprintf(stderr,"__%d__ sqlite3_exec : %s\n",__LINE__,errmsg);
		return -1;
	}
	printf("表数据插入成功!!\n");
	return 0;
}

int do_de(sqlite3* db){
	char sql[128]="delete from stu where name='11';";
	char* errmsg = NULL;
	if(sqlite3_exec(db,sql,NULL,NULL,&errmsg) != SQLITE_OK){
		fprintf(stderr,"__%d__ sqlite3_exec : %s\n",__LINE__,errmsg);
		return -1;
	}
	printf("表数据删除成功!!\n");
	return 0;
}
int do_up(sqlite3* db){
	char sql[128]="update stu set name='李四' where id=1;";
	char* errmsg = NULL;
	if(sqlite3_exec(db,sql,NULL,NULL,&errmsg) != SQLITE_OK){
		fprintf(stderr,"__%d__ sqlite3_exec : %s\n",__LINE__,errmsg);
		return -1;
	}
	printf("表数据修改成功!!\n");
	return 0;
}
int main(int argc, const char *argv[])
{
	sqlite3* db = NULL;//创建并打开数据库
	if(sqlite3_open("./my.db",&db) != SQLITE_OK)
	{
		printf("数据库打开失败!!\n");
		fprintf(stderr,"line:  %d  sqlite3_open: %s\n",__LINE__,sqlite3_errmsg(db));
		printf("%d\n",sqlite3_errcode(db));
		return -1;
	}
	printf("成功打开sqlite3!!!\n");
	//创建一张表格	
	char sql[128] = "create table if not exists stu(id int primary key, name char, score float);";
	char* errmsg = NULL;
	if(sqlite3_exec(db,sql,NULL,NULL,&errmsg) != SQLITE_OK)
	{
		printf("sqlite3_exec : %s   __%d__\n",errmsg,__LINE__);
		return -1;
	}
	printf("创建stu表成功!!!\n");
	int c=0;
	while(1)
	{
		system("clear");
		printf("--------------------------------\n");
		printf("-------------1、增--------------\n");
		printf("-------------2、删--------------\n");
		printf("-------------3、改--------------\n");
		printf("-------------4、查--------------\n");
		printf("-------------5、退--------------\n");
		printf("--------------------------------\n");
		
		printf("请输入>>>>");
		c=getchar();
		while(getchar()!=10);
		switch(c)
		{
		case '1':
			do_in(db);
			break;
		case '2':
			do_de(db);
			break;
		case '3':
			do_up(db);
			break;
		case '4':
			//do_st(db);
			break;
		case '5':
			goto END;
		default:
			printf("输入错误,请重新输入!!!\n");
		}
		printf("请输入任意字符进行清屏\n");
		while(getchar()!=10);
	}
END:
	//关闭数据库
	sqlite3_close(db);
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值