gpt4 book ai didi

java - 安卓/Java : Is my code correct?

转载 作者:行者123 更新时间:2023-12-01 23:19:59 25 4
gpt4 key购买 nike

我正在尝试制作一个简单的登录系统。这是数据库类(class)的男女混合类(class)。我的方法正确吗?如果用户名和密码都正确,则返回 true;如果其中之一错误或不在数据库中(未注册),则返回 false?有没有更简单的方法来编写此方法?

public boolean getAccount(String name, String password) {
int test = 0;
database = getReadableDatabase();
String sql = "SELECT * FROM tbl_account WHERE username='name' AND password='password'";
Cursor c = database.rawQuery(sql, null);
if (c.moveToFirst()) {
do {
if (c.getString(0).isEmpty()) {
test = 0;
}
else if (c.getString(0).isEmpty() == false) {
if (name.equals(c.getString(0))) {
if (c.getString(1).isEmpty()) {
test = 0;
}
else if (password.equals(c.getString(1))) {
test = 1;
}
}
}
} while (c.moveToNext());
}

if (test == 0) {
return false;
} else {
return true;
}

}

最佳答案

最佳实践是使用 ?带有选择参数的占位符,您可以:

String sql = "SELECT * FROM tbl_account WHERE username = ? AND password = ?";
Cursor c = database.rawQuery(sql, new String[] {name, password});

这可以避免参数本身包含引号和撇号等字符的问题,否则可能会破坏构建的 SQL 字符串。

关于java - 安卓/Java : Is my code correct?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20747864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com