SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

Không thể cập nhật hàng trong Sqlite trong Android nhưng không gặp bất kỳ lỗi nào

1). Kiểm tra Logcat của bạn rằng bạn không có bất kỳ lỗi nào.

2). Bật ghi nhật ký để xem tất cả các câu lệnh SQL mà bạn đang thực hiện:

https://gist.github.com/davetrux/9741432

adb shell setprop log.tag.SQLiteLog V
adb shell setprop log.tag.SQLiteStatements V
adb shell stop
adb shell start

Hoặc đọc cái này:https://stackoverflow.com/a/19152852/1796309
Hoặc cái này:https://stackoverflow.com/a/6057886/1796309

Dù sao, bạn cần kiểm tra xem bạn có đang thực hiện đúng truy vấn SQL hay không.

3). Nếu truy vấn của bạn tốt, nhưng bạn vẫn không thể cập nhật hàng của mình, bạn cần thực hiện việc này:

3.1) Truy cập <android-sdk-dir>/platform-tools

3.2). Đảm bảo rằng bản dựng hiện tại của bạn là Debug (không phải Release hoặc bạn sẽ nhận được thông báo adbd cannot run as root in production builds ).

Ý tôi là bạn nên chạy ứng dụng của mình thông qua nút này:

Và chạy các lệnh tiếp theo:

./adb root
./adb shell
run-as com.mycompany.app    //<----------- your applicationId from build.gradle
ls -l
drwxrwx--x u0_a88   u0_a88            2016-01-25 15:44 cache
drwx------ u0_a88   u0_a88            2016-01-25 15:25 code_cache
drwxrwx--x u0_a88   u0_a88            2016-01-25 15:44 databases    //<----
drwxrwx--x u0_a88   u0_a88            2016-01-25 15:26 files

cd databases/
ls -l
-rw-rw---- u0_a88   u0_a88     172032 2016-01-25 15:45 <your-app>.db
-rw------- u0_a88   u0_a88      33344 2016-01-25 15:45 <your-app>.db-journal

chmod 777 -R <your-app>.db
exit
exit
./adb pull /data/data/<your applicationId from build.gradle>/databases/<your-app>.db ~/projects/

Sau đó, bạn sẽ có bản sao của cơ sở dữ liệu SQLite của mình trong ~/projects/ thư mục.

Mở nó bằng cách sử dụng, ví dụ như sau:http://sqlitebrowser.org/

Cố gắng thực hiện truy vấn cập nhật mà bạn có thể lấy từ Logcat .
Bạn sẽ thấy tất cả các lỗi SQL và bạn sẽ có thể sửa nó rất nhanh.

Chúc các bạn thành công!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khóa chính của SQLite AutoIncrement không hoạt động

  2. Android:Làm cách nào để nhập danh bạ từ điện thoại?

  3. Phòng Android:Làm thế nào để di chuyển đổi tên cột?

  4. Android- setPeriodic cho JobScheduler sẽ không hoạt động

  5. Làm thế nào để lọc trong một đến nhiều mối quan hệ với db phòng android