代码编织梦想

1. 完成数据库的插入、删除、修改

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

//插入
int  do_insert(sqlite3 * db);

//删除
int  do_delete(sqlite3 *db);

//修改
int  do_update(sqlite3 *db);

int main(int argc, const char *argv[])
{
	//创建一个数据库并且打开
	sqlite3 *db=NULL;

	if(sqlite3_open("./stu.db",&db)!=SQLITE_OK)
	{
		printf("__%d__ sqlite_open: %s\n",__LINE__,sqlite3_errmsg(db));
		printf("error_code: %d\n",sqlite3_errcode(db));
		return -1;
	}
	printf("sqlite3 and open suceess\n");

	
	//创建一张表
	char sql[128]="create table if not exists stu(id int,name char,score float)";
	char *errmsg=NULL;

	if(sqlite3_exec(db,sql,NULL,NULL,&errmsg)!= SQLITE_OK)
	{
		fprintf(stderr,"__%d__ sqlite3_exec: %s\n",__LINE__,errmsg);
		//printf("erro\n");
		return -1;
	}
	printf("create table stu suceess\n");

	int num=0;

	while(1)
	{
		printf("\t\t----------欢迎使用此系统---------\n");
		printf("\t\t----------1.插入-----------------\n");
		printf("\t\t----------2.删除-----------------\n");
		printf("\t\t----------3.修改-----------------\n");
		printf("\t\t----------4.查询-----------------\n");

		printf("请输入编号:");
		scanf("%d", &num);
		
		switch(num)
		{
		case 1:
			{
				do_insert(db);
			
			break;
			}
			case 2:
			{
				do_delete(db);
				break;
			}
			case 3:
			{
				do_update(db);
				break;
			}
			case 4:
				//do_search
			case 0:
				exit(0);
		}
	}



	if(sqlite3_close(db) != SQLITE_OK)
	{
		fprintf(stderr,"__%d__ sqlite_close: %s\n",__LINE__,sqlite3_errmsg(db));
		fprintf(stderr,"error_code: %d\n",sqlite3_errcode(db));
		return -1;
	}

	printf("sqlite3 close suceess\n");

	
	return 0;
}

int  do_insert(sqlite3 * db)
{
	
	int num;
	printf("请输入ID值:");
	scanf("%d",&num);
	
	char name[128]="";
	printf("请输入name:");
	scanf("%s",name);

	float score;
	printf("请输入score值:");
	scanf("%f",&score);
	
	
	sprintf(sql1,"insert into stu values('%d','%s','%f')",num,name,score);


	char *errmsg=NULL;
	if(sqlite3_exec(db,sql1,NULL,NULL,&errmsg)!= SQLITE_OK)
	{
		fprintf(stderr,"__%d__ sqlite3_exec: %s\n",__LINE__,errmsg);
		return -1;
	}
	printf("insert stu suceess\n");
			
}


int  do_delete(sqlite3 *db)
{
	char sql2[128]="delete from stu where id=1";
	char *errmsg=NULL;
	if(sqlite3_exec(db,sql2,NULL,NULL,&errmsg)!= SQLITE_OK)
	{
		fprintf(stderr,"__%d__ sqlite3_exec: %s\n",__LINE__,errmsg);
		return -1;
	}
	printf("delete stu suceess\n");
}


int  do_update(sqlite3 *db)
{
	char sql1[128]="update stu set score=100 where id=1";
	char *errmsg=NULL;
	if(sqlite3_exec(db,sql1,NULL,NULL,&errmsg)!= SQLITE_OK)
	{
		fprintf(stderr,"__%d__ sqlite3_exec: %s\n",__LINE__,errmsg);
		return -1;
	}
	printf("delete stu suceess\n");
}

效果图:
   

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xhdd_youthful/article/details/126983176

sdu机器学习作业心得1_李昊_sdu的博客-爱代码爱编程

看到老师布置的作业简直心态爆炸,不过这周日就要交了还是硬着头皮作吧。 这本天书简直就让人摸不到头脑,翻到二十多页已然是看不懂了。在懒人床的指点下,好歹有了一些想法。所以写下这个博客,为了让跟我一样看天书的小伙伴们一点帮助。 作业内容是《模式分类第二版》第二章的上机题第四题。数据如下: 样本                   w1          

c++primer学习笔记及作业答案之第九章_iblue_coffee的博客-爱代码爱编程_c++primer第九章作业

笔记: 9.1 顺序容器概述 如果不确定使用哪种类型的容器,那么可以使用vector和list的公共操作,使用迭代器,不适用下标操作。 list 的迭代器不支持比较运算。list不支持<运算,只支持递增递减、==以及!=操作。 9.2 容器库概述 每个容器都定义了一个默认构造函数。 只有顺序容器(不包括array)的构造函数才能接受参数大

课堂作业讨论:智能驾驶技术_cqbelt的博客-爱代码爱编程

湘江人工智能学院作业题目参考 作业1路径规划 直接贴代码 这是一个机器人自动规划路径的问题 卡尔曼滤波原理不记得了 example_test.m % This script is to help run your a

9.21作业(考试系统)-爱代码爱编程

考试系统 1.首先创建文件“index.jsp”,内容为考试的试题主页面。 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>考试界面</title> </

C++大作业——实验室成员管理系统(继承)【附源代码】-爱代码爱编程

实验目的:开发一个实验室成员管理系统,取代结构体类型,定义教师类和学生类。定义实验室类,将所有教师和学生作为成员,建议将所有成员数据的访问权限定义为private。 实验要求:引入类、对象、构造函数等面向对象编程因素,通过编程加深对“封装”的认识,掌握类、对象、成员函数、构造函数的定义与使用。为教师类和学生类定义一个共同的基类Member,将它们共同

c语言课后作业答案指针,c语言指针习题及答案-爱代码爱编程

c语言指针习题及答案 指针习题及答案 一.选择题 1.变量的指针,其含义是指该变量的 B 。 A)值 B)地址 C)名 D)一个标志 2.已有定义int k=2;int *ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执 行的赋值语句是 B 。 A)k=*ptr1+*ptr2 B)ptr2=k C)ptr1=ptr2 D)k

西工大机考《 JAVA语言》大作业网考-爱代码爱编程

JAVA???202110?? 试卷总分:100 得分:100 一、 单选题 (共 50 道试题,共 100 分) 1. 下面程序中类ClassDemo中定义了一个静态变量sum,分析程序段的输出结果。( ) A.0 B.6 C.11 D.2 2.下面关于构造函数的说法不正确的是( ) A.构造函数也属于类的方法,用于创建对象的时候给成员变量赋值。 B

【操作系统概念-作业9】Virtual Memory-爱代码爱编程

#! https://zhuanlan.zhihu.com/p/424677328 【操作系统概念-作业9】Virtual Memory Operating System Concepts Exercises 9 Virtual Memory 操作系统作业9 9.1, 9.3, 9.4, 9.5, 9.7, 9.89.15, 9.18, 9