android - 如果用户已经存在,如何检查 SQLite 数据库?
问题描述
我是 Android 编程的新手。我有一个带有电子邮件和密码的 SQLite 数据库,我想在新用户创建新帐户时检查用户是否已经存在。谁能帮我 ?这是我检查用户是否存在的方法。
usersAcc.setEmailUser(e);
usersAcc.setPasswordUser(a);
String query = "SELECT email FROM Emails WHERE email='"+ usersAcc.getEmailUser() +"';";
Cursor cursor = helper.sqlite.rawQuery(query, null);
cursor.moveToFirst();
if(cursor.moveToNext()){
helper.intput(usersAcc);
Toast toast = Toast.makeText(RegistrationForm.this, "OK!", Toast.LENGTH_LONG);
toast.setGravity(Gravity.BOTTOM, 0,0);
toast.show();
}else{
Toast toast = Toast.makeText(RegistrationForm.this, "Fail!", Toast.LENGTH_LONG);
toast.setGravity(Gravity.BOTTOM, 0,0);
toast.show();
}
解决方案
您没有正确使用光标移动,因为在移动到第一个之后,您移动到不存在的下一个,使用这个:
usersAcc.setEmailUser(e);
usersAcc.setPasswordUser(a);
String query = "SELECT email FROM Emails WHERE email='"+ usersAcc.getEmailUser() +"';";
Cursor cursor = helper.sqlite.rawQuery(query, null);
if(cursor.moveToFirst()){
helper.intput(usersAcc);
Toast toast = Toast.makeText(RegistrationForm.this, "OK!", Toast.LENGTH_LONG);
toast.setGravity(Gravity.BOTTOM, 0,0);
toast.show();
}else{
Toast toast = Toast.makeText(RegistrationForm.this, "Fail!", Toast.LENGTH_LONG);
toast.setGravity(Gravity.BOTTOM, 0,0);
toast.show();
}
推荐阅读
- haskell - 编写递归列表函数时出现非详尽模式错误
- reactjs - React 在开发和生产中运行有什么区别?
- bazel - 如何使用 bazel 与 cppkafka 一起构建
- android - 响应中的 java.lang.NumberFormatException
- css - 网格行应该适合内容的高度
- ios - 使用 UIViewControllerRepresentable 时 UIViewController 子视图的大小/布局不正确(没有情节提要)
- vba - 仅在电子邮件有附件时运行
- javascript - 如何在算法中优化内存
- flutter - 我正在尝试提出获取请求,但我不断收到此问题
- google-chrome - chrome 扩展上的安全身份验证令牌