clink.c
while(1){int ch = -1;printf("1:注册\n");printf("2:登录\n");printf("0:退出\n");printf("请选择:");scanf("%d",&ch);while(getchar()!=10);switch(ch){case 1:{pack_t pack = {0};printf("请输入账号:");scanf("%s",pack.name);while(getchar()!=10);printf("请输入密码:");scanf("%s",pack.pswd);while(getchar()!=10);pack.type = TYPE_REGIST;sqlite3* db=NULL;if(sqlite3_open("./user.db",&db)!=SQLITE_OK){printf("数据库注册打开失败\n");return 1;}char sql[128]="";sprintf(sql,"insert into user(name,pswd) values('%s','%s')",pack.name,pack.pswd);char* errmsg=NULL;if(sqlite3_exec(db,sql,0,0,&errmsg)!=SQLITE_OK)fprintf(stderr,"errmsg=%s\n",errmsg);sqlite3_close(db);break;}case 2:{pack_t pack = {0};printf("请输入账号:");scanf("%s",pack.name);while(getchar()!=10);printf("请输入密码:");scanf("%s",pack.pswd);while(getchar()!=10);pack.type = TYPE_LOGIN;sqlite3* db=NULL;if(sqlite3_open("./user.db",&db)!=SQLITE_OK){printf("数据库登录打开失败\n");return 1;}char sql[128];sprintf(sql, "SELECT * FROM user WHERE name = '%s'", pack.name);char* errmsg = NULL;int res = sqlite3_exec(db, sql, 0, 0, &errmsg);if(res != SQLITE_OK){printf("登录失败: %s\n", errmsg);sqlite3_close(db);break;}else{sprintf(sql, "SELECT * FROM user WHERE name = '%s' AND pswd = '%s'", pack.name, pack.pswd);int res = sqlite3_exec(db, sql, 0, 0, &errmsg);if(res != SQLITE_OK) {printf("登录失败: %s\n", errmsg);sqlite3_close(db);break;}else{printf("登陆成功\n");sqlite3_close(db);break;}}}case 0:{break;}}}
sqlite3 user.db