{
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这个里面有完成登录以及注册的详细数据。
接着按照手机上给的提示输入数据即可完成。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)