2012-02-23 42 views
17

Tôi đang cố gắng lấy giá trị cột từ con trỏ, cột này được tạo vào thời gian chạy bằng cách tính toán bên trong truy vấn, tôi nhận giá trị rỗng của cột này, tôi có thể nhận giá trị của tất cả các cột khác tồn tại trong Bảng SQLite.Cách lấy giá trị cột từ con trỏ sqlite?

Tôi thực hiện cùng một truy vấn trên trình chỉnh sửa SQLite, nó cũng hiển thị giá trị của cột được tạo trong tập hợp kết quả.

Tại sao điều này cho giá trị null khi tôi lấy nó từ con trỏ?

+2

Vui lòng cung cấp mã mà bạn sử dụng để truy vấn và truy xuất giá trị cột. –

+0

@Chandrapal Yadav: bạn có chắc chắn, bạn đang bao gồm cột đó khi bạn kích hoạt truy vấn? chắc chắn, bạn không bỏ lỡ nó! – Hiral

+0

cố gắng nhìn vào liên kết này .. sử dụng phương pháp truy vấn .. http://stackoverflow.com/questions/10600670/sqlitedatabase-query-method – Michimcchicken

Trả lời

56

Rất đơn giản bạn có thể nhận được nó bằng một trong hai cách sau

String id = cursor.getString(cursor.getColumnIndex("id")); // id is column name in db 

hoặc

String id = cursor.getString(cursor.getColumnIndex(0)); // id is first column in db 
+1

Cursor trong ví dụ này là gì? –

3

tên cột Cursor là trường hợp nhạy cảm, chắc chắn rằng bạn phù hợp với trường hợp quy định tại các db hoặc cột bí danh name

2
  1. Nếu bạn không biết chỉ mục cột trong truy vấn chọn, hãy làm theo điều này,

    Xác định hằng số cho tất cả các lĩnh vực của bảng nên nó rất dễ dàng để có được tên trường bạn không cần phải xác minh chính tả của nó

    tạo lớp costant Cơ sở dữ liệu với tên "DBConstant.java" và xác định các lĩnh vực bảng

    chuỗi cuối cùng tĩnh công khai ID = "id";

    Sau đó, nhận được giá trị từ con trỏ,

    cursor.getString (cursor.getColumnIndex (DBConstant.ID));

    cursor.getColumnIndex (tên trường); nó trả về chỉ số cột trường trong bạn chọn câu lệnh cursor.getString (chỉ mục cột). nó sẽ trả về giá trị là trên cột đó

  2. Nếu bạn biết chỉ số cột trong truy vấn chọn của bạn,

    cursor.getString (0);

Các vấn đề liên quan