【发布时间】:2016-10-18 18:09:33
【问题描述】:
我正在数据库助手类方法中运行 SQL 查询以返回“药物”表中的所有条目
list_all_drugs() {
Cursor cursor = db.query("drugs", null , null, null, null, null, null);
return cursor;
}
然后在我的活动中,我使用光标数据如下:
db = new DatabaseHelper(this);
c = db.list_all_drugs();
c.moveToFirst();
while (!c.isAfterLast()) {
viewDrug(c.getString(0),c.getString(1),c.getString(2),c.getString(3),c.getString(4),c.getString(5),c.getString(6),c.getString(7),c.getString(8),c.getString(9),c.getString(10),c.getString(11));
c.moveToNext();
}
然后我将这些参数传递给 viewDrug() 方法以显示数据库中的药物列表。一切正常,但我发现这种方法不是最佳实践(?),特别是当我想插入或删除数据库列时,整个代码结构会失败,我必须做很多硬编码。
那么,简而言之,有没有更好的方法来动态地与数据库列交互,而不是使用它们的索引一个一个地调用它们?谢谢。
【问题讨论】:
-
除非您想使用一些 ORM,否则您需要在某些时候使用列索引
-
"then I pass these parameters to the viewDrug() method to display list of drugs from the database"你想在哪里显示它们?
标签: android database android-cursor android-database