Tôi muốn sử dụng truy vấn chọn để truy xuất dữ liệu từ bảng. Tôi đã tìm thấy, rawQuery(query, selectionArgs)
phương pháp của SQLiteDatabase
lớp để truy xuất dữ liệu. Nhưng tôi không biết cách query
và selectionArgs
phải được chuyển đến phương thức rawQuery
như thế nào?rawQuery (truy vấn, selectionArgs)
Trả lời
rawQuery("SELECT id, name FROM people WHERE name = ? AND id = ?", new String[] {"David", "2"});
Bạn vượt qua một mảng chuỗi với một số lượng tương đương của các yếu tố như bạn có "?"
Thx, xứng đáng hơn thế này cho số –
này 'rawQuery (" SELECT id, tên FROM people WHERE? =? ", new String [] {" column_name "," David "});', đây có phải là một validQuery không? – theapache64
@ theapache64 nó không phải là một truy vấn hợp lệ. Các '?' chỉ áp dụng cho các giá trị. – BMB
Một ví dụ về rawQuery - db.rawQuery("select * from table where column = ?",new String[]{"data"});
Tính năng mới Chuỗi [] {"dữ liệu"}? Bạn có thể đưa ra một lời giải thích về tuyên bố trên. Cảm ơn trước. –
http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#rawQuery%28java.lang.String,%20java.lang.String[]%29 – Tarun
xem mã bên dưới có thể giúp bạn.
String q = "SELECT * FROM customer";
Cursor mCursor = mDb.rawQuery(q, null);
hoặc
String q = "SELECT * FROM customer WHERE _id = " + customerDbId ;
Cursor mCursor = mDb.rawQuery(q, null);
Tại sao điều này lại được bỏ phiếu? Điều này không cho thấy cách sử dụng đúng chức năng được cung cấp bởi 'rawQuery'. Mục đích của nó là để tránh concatenating Strings, vv Ngoài ra, Rawkode của câu trả lời nên được chấp nhận. – aMiGo
Đây không phải là cách sử dụng rawQuery, bạn nên sử dụng? như giữ chỗ và tham số thứ hai để điền chúng vào. – Eddnav
Bất kể "cách" bạn được sử dụng * rawQuery() *, đây là cách hợp lý hơn, ngắn gọn, dễ hiểu và tiêu chuẩn trong tất cả các ngôn ngữ khác, ngoài Java. Vì vậy, đây là cách ưa thích. – not2qubit
Có lẽ điều này có thể giúp bạn
Cursor c = db.rawQuery("query",null);
int id[] = new int[c.getCount()];
int i = 0;
if (c.getCount() > 0)
{
c.moveToFirst();
do {
id[i] = c.getInt(c.getColumnIndex("field_name"));
i++;
} while (c.moveToNext());
c.close();
}
đây là câu trả lời hoàn hảo cho câu hỏi được hỏi @AgentKnopf –
String mQuery = "SELECT Name,Family From tblName";
Cursor mCur = db.rawQuery(mQuery, new String[]{});
mCur.moveToFirst();
while (!mCur.isAfterLast()) {
String name= mCur.getString(mCur.getColumnIndex("Name"));
String family= mCur.getString(mCur.getColumnIndex("Family"));
mCur.moveToNext();
}
Tên và gia đình là kết quả của bạn
Đối với tính đầy đủ và quản lý tài nguyên chính xác:
ICursor cursor = null;
try
{
cursor = db.RawQuery("SELECT * FROM " + RECORDS_TABLE + " WHERE " + RECORD_ID + "=?", new String[] { id + "" });
if (cursor.Count > 0)
{
cursor.MoveToFirst();
}
return GetRecordFromCursor(cursor); // Copy cursor props to custom obj
}
finally // IMPORTANT !!! Ensure cursor is not left hanging around ...
{
if(cursor != null)
cursor.Close();
}
nếu truy vấn SQL của bạn là thế này
SELECT name,roll FROM student WHERE name='Amit' AND roll='7'
sau đó rawQuery sẽ
String query="SELECT id, name FROM people WHERE name = ? AND roll = ?";
String[] selectionArgs = {"Amit","7"}
db.rawQuery(query, selectionArgs);
- 1. SQLite rawQuery selectionArgs và số nguyên Fields
- 2. Truy vấn Chọn Sqlite với rawQuery tại Android
- 3. Android SQLite: Truy vấn nào ("truy vấn" hoặc "rawQuery") nhanh hơn?
- 4. rawQuery Vs. database.query
- 5. Không thể thực thi xóa truy vấn đúng cách bằng cách sử dụng rawQuery
- 6. Thông số rawquery Android SQLite
- 7. Sử dụng String [] selectionArgs trong SQLiteDatabase.query()
- 8. Merge truy vấn vào một truy vấn
- 9. Cách sử dụng rawQuery để chèn một bản ghi
- 10. Truy vấn ghi nhật ký truy vấn chậm của MySQL ghi nhật ký truy vấn nhanh
- 11. Tại sao xóa rawQuery cần một moveToFirst để thực sự xóa các hàng?
- 12. MySQL - UPDATE truy vấn dựa trên Truy vấn SELECT
- 13. Xem truy vấn SQL cho bộ truy vấn Django xóa
- 14. Truy vấn sqlite trong android (chèn truy vấn)
- 15. truy vấn cập nhật mysql với truy vấn phụ
- 16. SQL - Kết hợp nhiều truy vấn như truy vấn
- 17. Tham gia truy vấn hoặc truy vấn phụ
- 18. Cách truy vấn Double với truy vấn mẫu Spring JDBC
- 19. Một truy vấn lớn so với nhiều truy vấn nhỏ?
- 20. sự khác biệt giữa rawquery và execSQL trong cơ sở dữ liệu sqlite android
- 21. Cách truy vấn các sự kiện lịch trên Android cho phạm vi ngày cụ thể?
- 22. truy vấn mysql phức tạp vấn đề
- 23. mysqldump từ truy vấn
- 24. Caching Truy vấn MySQL
- 25. Truy vấn Setezza Sql
- 26. Hai mysqli truy vấn
- 27. Truy vấn nhân Mysql
- 28. Truy vấn PyMysql UPDATE
- 29. upsert truy vấn sql
- 30. MongoDB tổng truy vấn
[trang web nhà phát triển Android] (http://developer.android.com/reference/android/database /sqlite/SQLiteDatabase.html#rawQuery%28java.lang.String,%20java.lang.String[]%29)Nhà phát triển Android là nguồn tốt nhất cho tất cả các truy vấn nhỏ này là nguồn tốt nhất cho tất cả các truy vấn nhỏ này – Tarun