Từ tài liệu lớp SQLiteDatabase của Android:
Thực thi một câu lệnh SQL duy nhất KHÔNG phải là câu lệnh SELECT hoặc bất kỳ câu lệnh SQL nào khác trả về dữ liệu.
Nó không có nghĩa là trả về bất kỳ dữ liệu nào (chẳng hạn như số lượng người bị ảnh hưởng). Thay vào đó, bạn được khuyến khích sử dụng chèn (String, String, ContentValues), cập nhật (String, ContentValues, String, String []), etal, khi có thể.
Sau đó, sau:
Đối với câu lệnh UPDATE, hãy sử dụng bất kỳ câu nào sau đây để thay thế.
cập nhật (Chuỗi, Giá trị nội dung, Chuỗi, Chuỗi [])
updateWithOnConflict (String, ContentValues, String, String [], int)
Theo những gì tôi có thể nói, execSQL
nhiều hơn cho các hoạt động cơ sở dữ liệu cấp cao hơn, chẳng hạn như tạo bảng và thay đổi lược đồ và .query
, .update
, .delete
, vv các phương pháp nên được sử dụng để sửa đổi các hàng. Tôi không chắc bạn có tùy chọn khác ngoài .update
để thực hiện thao tác này.