我正在使用列 id 从数据库中获取一个字符串。当我在 SQLite DB 浏览器中输入查询时,它会返回所需的内容,但相同的查询在通过 Java 编码时不返回任何内容。
我的数据库包含一个名为drugs 的表,它有3 列,即drug_id、drug_name 和drug_overview。使用 drug_id 我正在获取 drug_overview。我已经在 db 浏览器中尝试了该查询,该查询从 drug_overview 返回了正确的字符串,但相同的查询在通过 java 编码时没有返回任何内容。
SQLite 数据库浏览器查询:
SELECT * FROM drugs Where drug_id = 50;
JAVA代码:
String query105 = "SELECT * FROM drugs Where drug_id = " + drug_id;
Log.e("TESTDB1","Drugs table query: " + query105);
Cursor c105 = db.rawQuery(query105,null);
if (c105 != null){
while (c105.moveToNext()){
String overview = c105.getString(c105.getColumnIndexOrThrow("drug_overview"));
Log.e("TESTDB1","Overview: " + overview);
}
c105.close();
}
预期结果是概述:阿昔洛韦是一种抗病毒药物。它减缓了疱疹病毒在体内的生长和传播。它不能治愈疱疹,但可以减轻感染症状。阿昔洛韦用于治疗由疱疹病毒引起的感染,如生殖器疱疹、唇疱疹、带状疱疹和水痘,以及水痘(水痘),以及巨细胞病毒。阿昔洛韦也可用于本药物指南中未列出的用途。
但实际结果是 Overview: empty 。当我在查询中更改 id 时,它会从不同的药物中给出正确的结果。