Tôi đang sử dụng cơ sở dữ liệu để lưu trữ ngày và muốn một cột đơn được trả lại dựa trên id nào được đưa ra trong vị trí đó.Kiểm tra xem con trỏ có kết quả
public String getPmax(String serial) {
String[] columns = new String[]{KEY_SERIAL, KEY_PMAX};
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, "serial = " + serial,
null, null, null, null);
String result = "nothing found";
if(c != null) {
int iPmax = c.getColumnIndex(KEY_PMAX);
c.moveToFirst();
result = c.getString(iPmax);
}
return result;
}
Mã này hoạt động nếu tôi sử dụng một sê-ri nằm trong cơ sở dữ liệu nhưng nó cho tôi lực khi tôi đang sử dụng bộ nối tiếp không có trong cơ sở dữ liệu!
nó nói:
04-11 16:31:19.423: E/AndroidRuntime(21226): java.lang.RuntimeException: Unable to start activity ComponentInfo{nl.janjanus.solardetect/nl.janjanus.solardetect.DatabaseView}: android.database.sqlite.SQLiteException: no such column: g: , while compiling: SELECT serial, pmax FROM SolareCel WHERE serial = g
Vì vậy, câu hỏi của tôi là: Làm thế nào để kiểm tra xem có kết quả? hoặc tôi cần phải kiểm tra nếu nối tiếp được đưa ra là một nối tiếp có trong cơ sở dữ liệu?
Con trỏ không có hàng, nó trống nhưng các thử nghiệm ở trên vẫn không thành công, tại sao vậy? Có kiểm tra nào khác không? Điều này thực sự khó hiểu. – Namratha
Lưu ý: điều này có tác dụng phụ của việc đặt con trỏ đến vị trí đầu tiên. Có thể gây ra sự cố nếu truyền đối tượng con trỏ đã được di chuyển đến vị trí cụ thể đến một hàm khác và sau đó được mong đợi vẫn ở vị trí :) –