Tôi có mã sau tạo bảng của tôi. Tôi chèn dữ liệu vào nó trông giống như mãVấn đề với truy vấn SQL Android ở đâu khoản
_id date recordName total
--------------------------------------
7 2011 TestMaxRecord 5
Java này:
public static final String KEY_ROWID = "_id";
public static final String KEY_DATE = "date";
public static final String KEY_TOTAL = "total";
public static final String KEY_RECORD_NAME = "recordName";
private static final String DATABASE_CREATE_RECORDS = "create table " + DATABASE_TABLE_RECORDS + " ("
+ KEY_ROWID + " integer primary key autoincrement, "
+ KEY_DATE + " text not null, "
+ KEY_RECORD_NAME + " text not null, "
+ KEY_TOTAL + " text not null);";
public Cursor getRecord(String name) throws SQLException {
return mDb.query(true, DATABASE_TABLE_RECORDS, new String[] {KEY_ROWID, KEY_DATE, KEY_RECORD_NAME, KEY_TOTAL}, KEY_RECORD_NAME + " = " + name, null, null, null, null, null);
}
Nó ném một ngoại lệ mỗi khi nơi name = "TestMaxRecord" (mặc dù có dữ liệu trong đó) với các lỗi sau
android.database.sqlite.SQLiteException: không có cột như: TestMaxRecord:, khi biên dịch: SELECT DISTINCT _id, ngày, recordName, tổng TỪ ghi ĐÂU recordName = TestMaxRecord
Hình như tôi đang tìm tiêu đề cột TestMaxRecord
. Tôi là một newbie android nhưng sao chép phần này khá nhiều chính xác từ một ví dụ (nó đã được sử dụng int mặc dù). Có sự khác biệt nào giữa việc sử dụng int và Strings trên truy vấn của bạn không?
Ừ mà làm việc , cảm ơn. Có phải vì nó là một chuỗi? Tôi đã xem xét các tài nguyên trong liên kết của bạn trước đây và nó không giúp đỡ với các mệnh đề WHERE. Ít chuỗi hơn trong mệnh đề WHERE ... ít nhất là tôi đã từng tìm thấy. – easycheese