sqlite3登录判断是否匹配注册数据库

sqlite3登录判断是否匹配注册数据库,第1张

//此代码为实现账号密码登录验证void Login()

{

users a int rc

sqlite3 *db //SQLite数据指针 sqlite3结构体 *db指向sqlite3结构体的指针

constchar *pFileName = "users.db"

char * zErr /* 定义返回错误信息的变量*/

rc = sqlite3_open(pFileName, &db)/*打开数据库*/

if(rc) /*假,关闭数据库*/

{

cleardevice()

setmode()

settextstyle(30, 0, "楷体")

settextcolor(RGB(0,500,0))

outtextxy(220, 200, "打开数据库失败!")

voice_No_name()

main()

sqlite3_close(db)

}

InputBox(a.id,10,"请输入账号")

outtextxy(295,270,a.id)

InputBox(a.pwd,10,"请输入密码")

outtextxy(293,339,"********")

Sleep(1500)

char *pSQL=sqlite3_mprintf("insert into users(id,pwd)values('%s','%s')",a.id,a.pwd)

//主要是获取rc返回值,进行判断 // id和pwd共同组成一个表的主键(联合主键) id/pwd谁都不能插入重复的 rc==1 错误 if取反rc==0登录成功 //插入的id不同pwd不同 插入成功 rc==0 if取反rc==1登陆失败 //相当于用户名不能有重复的,用户名跟密码不能一样,增强账号的安全性。

rc = sqlite3_exec(db, pSQL, NULL, NULL, &zErr)//!rc==1 error

if (!rc)

{ //删除多余的数据

char *pSQL=sqlite3_mprintf("delete from users where id = '%s' and pwd = '%s' ",a.id,a.pwd)

rc = sqlite3_exec(db, pSQL, NULL, NULL, &zErr)

cleardevice()

setmode()

settextstyle(30, 0, "楷体")

settextcolor(RGB(255,0,0))

outtextxy(250, 200, "登录失败!")

Sleep(1000)

cleardevice()

main()

} else ///rc=0 ok {

cleardevice()

setmode()

settextstyle(30, 0, "楷体")

settextcolor(RGB(0,500,0))

outtextxy(250, 200, "登录成功,欢迎使用!")

voice_succeed()

cleardevice()

option_Menu()

}

sqlite3_close(db)

}

这个个人 *** 作比较难完成,而且需要数据库的数据。

http://www.2cto.com/kf/201308/233461.html这个里面有完成登录以及注册的详细数据。

接着按照手机上给的提示输入数据即可完成。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6775255.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存