我有一个数据库帮助器,它可以从模型中定义一个列表,如下面的代码所示。我是否混淆了如何在boolean database helper中设置游标?谁能告诉我怎么样?
列表模型
public class Pengecekan {
private int id_pengecekan;
private String pengecekan;
private String normal;
private String nama_alat;
boolean tkn;
public Pengecekan(int id_pengecekan, String pengecekan, String normal, String nama_alat, boolean tkn) {
this.id_pengecekan = id_pengecekan;
this.pengecekan = pengecekan;
this.normal = normal;
this.nama_alat = nama_alat;
this.tkn = tkn;
}
public int getId_pengecekan() {return id_pengecekan;}
public void setId_pengecekan(int id_pengecekan) { id_pengecekan = id_pengecekan; }
public String getPengecekan() { return pengecekan; }
public void setPengecekan(String pengecekan) { this.pengecekan = pengecekan;}
public String getNormal() {return normal;}
public void setNormal(String normal) {this.normal = normal; }
public String getNama_alat() {return nama_alat;}
public void setNama_alat(String nama_alat) {this.nama_alat = nama_alat;}
public boolean isTkn() {return tkn;}
public void setTkn(boolean tkn) { this.tkn = tkn;}
}
databaseheper
public List<Pengecekan> getListPengecekan(String X) {
Pengecekan pengecekan = null;
List<Pengecekan> PengecekanList = new ArrayList<>();
openDataBase();
Cursor cursor = myDataBase.rawQuery("SELECT A.id_pengecekan, A.pengecekan, A.normal, B.nama_alat FROM tb_pengecekan A, tb_alat B, tb_instrumen C " +
"WHERE C.id_instrumen = B.id_instrumen AND A.id_alat = B.id_alat AND C.id_instrumen = '" + X + "' ", null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
***pengecekan = new Pengecekan(cursor.getInt(0), cursor.getString(1), cursor.getString(2), cursor.getString(3), cursor.getInt());***
PengecekanList.add(pengecekan);
cursor.moveToNext();}
cursor.close();
close();
return PengecekanList;
}
我很困惑如何在上面代码的***行上定义光标。
答案 0 :(得分:0)
正如您在SQLite definition中看到的那样:
SQLite中没有Boolean
数据类型。
你必须绕过这个,即通过存储大于0的int表示true,0表示false。
沿着这条路线:
pengecekan = new Pengecekan(cursor.getInt(0), cursor.getString(1), cursor.getString(2), cursor.getString(3), cursor.getInt(4) > 0);