Tôi nghĩ rằng mình đã tạo một cơ sở dữ liệu sqllite với android nhưng mỗi lần tôi thực hiện chèn, nó xác nhận một cột không tồn tại. Làm thế nào tôi có thể xem giản đồ và là phương thức onCreate được gọi là tạo đối tượng?Lược đồ cơ sở dữ liệu Sqlite của Android
Trả lời
Bạn có thể làm điều đó bằng mã. Sqlite có một bảng gọi là "sqlite_master" chứa thông tin lược đồ.
/**
* Get all table Details from the sqlite_master table in Db.
*
* @return An ArrayList of table details.
*/
public ArrayList<String[]> getDbTableDetails() {
Cursor c = db.rawQuery(
"SELECT name FROM sqlite_master WHERE type='table'", null);
ArrayList<String[]> result = new ArrayList<String[]>();
int i = 0;
result.add(c.getColumnNames());
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
String[] temp = new String[c.getColumnCount()];
for (i = 0; i < temp.length; i++) {
temp[i] = c.getString(i);
}
result.add(temp);
}
return result;
}
Cách đơn giản hơn là chạy trên trình mô phỏng.
- mở DDMS quan điểm
- Tìm dữ liệu/dữ liệu/PACKAGENAME/cơ sở dữ liệu/YOURFILE
- Nhấp vào kéo từ nút db trên góc trên bên phải thể hiện trong hình ảnh.
mở
Một cách khác để kiểm tra giản đồ cơ sở dữ liệu của bạn là để adb shell
vào thiết bị (hoặc giả lập). Khởi chạy dòng lệnh của sqlite với: sqlite3 <path to your database>
và nhập .schema
tại dấu nhắc lệnh.
Vì một lý do nào đó chạy "sqlite3" khiến tôi nhận được thông báo "/ system/bin/sh: sqlite3: không tìm thấy", nhưng tôi đã tìm được chương trình trong thư mục của trình duyệt gốc (mà tôi đã mua và cài đặt) bằng cách thực hiện "find | grep sqlite3 "(sau khi chạy" su "- mà tôi có thể làm vì điện thoại của tôi bắt nguồn từ) –
Tôi tin rằng sqlite3 không khả dụng trên thiết bị, nó chỉ chạy trên trình mô phỏng. –
Bạn có thể lấy tên bảng như sau:
/**
* Get all table Details from the sqlite_master table in Db.
*
* SQlite has a table called "sqlite_master " which holds schema information.
*
* @return An ArrayList of table names.
*/
public ArrayList<String> getDbTableNames(SQLiteDatabase db) {
ArrayList<String> result = new ArrayList<String>();
Cursor c = db.rawQuery("SELECT name FROM sqlite_master WHERE type='table'", null);
if (c.moveToFirst()) {
while (!c.isAfterLast()) {
result.add(c.getString(c.getColumnIndex("name")));
c.moveToNext();
}
}
return result;
}
- 1. Cập nhật lược đồ cơ sở dữ liệu
- 2. Cơ sở dữ liệu SQLite của Android: chèn chậm
- 3. Cập nhật lược đồ cơ sở dữ liệu sqlite với sqlalchemy và elixir
- 4. heroku không cập nhật lược đồ cơ sở dữ liệu
- 5. Cập nhật lược đồ cơ sở dữ liệu với hibernate
- 6. Lược đồ cơ sở dữ liệu thực tế xấu
- 7. Lược đồ cơ sở dữ liệu HR-XML
- 8. Mongoose: Lược đồ cơ sở dữ liệu được đề xuất
- 9. Lược đồ Cơ sở Dữ liệu Thăm dò ý kiến
- 10. Lược đồ cơ sở dữ liệu giải mã
- 11. Truy xuất lược đồ cơ sở dữ liệu
- 12. JavaScript vẽ lược đồ cơ sở dữ liệu
- 13. Sơ đồ dữ liệu cốt lõi từ cơ sở dữ liệu SQLite hiện có
- 14. Android duyệt cơ sở dữ liệu SQLite trên điện thoại
- 15. Android đổi tên Cơ sở dữ liệu SQLite
- 16. Cơ sở dữ liệu Flushing và SQLite trên android
- 17. Android ExpandableListView và cơ sở dữ liệu SQLite
- 18. cơ sở dữ liệu Android SQLite bị hỏng
- 19. onUpgrade() cơ sở dữ liệu sqlite trong Android
- 20. Android: SQLite sử dụng cơ sở dữ liệu sai
- 21. đồng bộ hóa cơ sở dữ liệu sqlite android
- 22. Tạo bảng trong cơ sở dữ liệu sqlite trên android
- 23. Chèn mảng trong cơ sở dữ liệu SQLite trong android
- 24. Android - Đâu là cơ sở dữ liệu SQLite lưu trữ
- 25. Thay đổi vị trí cơ sở dữ liệu sẽ giảm lược đồ của chủ sở hữu
- 26. chiến lược sharding cơ sở dữ liệu
- 27. Sơ đồ cơ sở dữ liệu EtherPad?
- 28. SQLite: cơ sở dữ liệu chỉ đọc
- 29. XSD cơ sở dữ liệu chuẩn trung gian để mô tả lược đồ cơ sở dữ liệu quan hệ
- 30. Thiết kế cơ sở dữ liệu tốt (lược đồ) cho cơ sở dữ liệu tham dự là gì?
Cảm ơn bạn đã trả lời, tôi muốn thử và xem bằng cách sử dụng giả lập. Điều này có thể giải quyết như thế nào? – Paul
Cảm ơn sự giúp đỡ của bạn, điều đó có vẻ tuyệt vời. – Paul
@Paul đã cập nhật câu trả lời với hình ảnh. – wtsang02