如何在android中使用where子句獲取SQLite數據庫的唯一列。 我想從數據庫中獲取數值,然後將其與其他數值進行比較,我該怎麼辦?如何在Android的Sqlite數據庫中使用where子句執行SELECT查詢?
0
A
回答
2
有多個步驟來實現這一點。
- 通過擴展
SQLiteOpenHelper
類創建一個類。提及數據庫名稱,表名,所有列名以及創建和刪除語句。
AndroidOpenDbHelper:
public class AndroidOpenDbHelper extends SQLiteOpenHelper implements BaseColumns{
public static final String DB_NAME = "Test_DB";
public static final int DB_VERSION = 2;
public static final String TABLE_NAME_TEST = "Test_Table";
public static final String COLUMN_NAME_LOC = "Location";
public static final String COLUMN_NAME = "Name";
public static final String TEXT_TYPE = " TEXT";
public static final String COMMA_SEP = ",";
public static final String SQL_CREATE_TABLE = "CREATE TABLE "+AndroidOpenDbHelper.TABLE_NAME_TEST+" ("+AndroidOpenDbHelper._ID+" INTEGER PRIMARY KEY"+COMMA_SEP+AndroidOpenDbHelper.COLUMN_NAME_LOC+TEXT_TYPE+COMMA_SEP+AndroidOpenDbHelper.COLUMN_NAME+TEXT_TYPE+")";
public static final String SQL_DROP_TABLE = "DROP TABLE IF EXISTS "+AndroidOpenDbHelper.TABLE_NAME_TEST;
public AndroidOpenDbHelper(Context context)
{
super(context,DB_NAME,null,DB_VERSION);
}
public void onCreate(SQLiteDatabase db)
{
db.execSQL(SQL_CREATE_TABLE);
}
public void onUpgrade(SQLiteDatabase db, int OldVersion, int NewVersion)
{
db.execSQL(SQL_DROP_TABLE);
onCreate(db);
}
public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
onUpgrade(db, oldVersion, newVersion);
}
}
在你MainActivity,調用此類初始化數據庫和表。
try { AndroidOpenDbHelper openDbHelperObj = new AndroidOpenDbHelper(this); SQLiteDatabase sqLiteDatabase = openDbHelperObj.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put(AndroidOpenDbHelper.COLUMN_NAME_LOC,Location); contentValues.put(AndroidOpenDbHelper.COLUMN_NAME,Name); long affectedRowId = sqLiteDatabase.insert(AndroidOpenDbHelper.TABLE_NAME_TEST,null,contentValues); sqLiteDatabase.close(); }catch(Exception err) { err.printStackTrace(); }
最後將此添加到要檢索和顯示數據的活動中。
public static final String SQL_SELECT_QUERY = "SELECT * FROM "+AndroidOpenDbHelper.TABLE_NAME_TEST+" WHERE "+AndroidOpenDbHelper.COLUMN_NAME_LOC = +'Location'; AndroidOpenDbHelper queryDbHelperObj = new AndroidOpenDbHelper(this); SQLiteDatabase sqLiteDatabase = queryDbHelperObj.getReadableDatabase(); Cursor cursor = sqLiteDatabase.rawQuery(SQL_SELECT_QUERY,null); if(cursor != null) { if(cursor.moveToFirst()) { do { String Location= cursor.getString(cursor.getColumnIndex("Location")); String DestinationDB = cursor.getString(cursor.getColumnIndex("Name")); }while(cursor.moveToNext()); } }
可能有一些問題與查詢的語法,所以我建議你改正和執行。
希望這會有所幫助!
+0
我想在我的意向服務課程中完成所有這些工作 –
+0
您需要向我們展示您到目前爲止所嘗試的內容。否則,我們將無法幫助您。請更新您的問題到目前爲止您嘗試的任何內容。 –
相關問題
- 1. 要使用SELECT查詢的WHERE子句
- 2. 在where子句中執行Oracle查詢
- 3. SQLite Select語句在Android查詢執行中給出錯誤
- 4. sqlite - 無法查詢與WHERE子句的網頁數據庫
- 5. 查詢「select where」在sqlite中返回無匹配數據android
- 6. 在外部查詢的where子句中使用select column子查詢的結果?
- 7. 在WHERE子句中使用datetime執行查詢
- 8. 使用從子查詢中的where子句中的select查詢中的字段
- 9. Android sqlite where子句
- 10. 如何使用LINQ在Where子句中使用NHibernate子查詢?
- 11. SQLite的子查詢的SELECT語句
- 12. 使用WHERE SQL查詢的WHERE子句
- 13. 插入和執行查詢在android的sqlite數據庫錯誤
- 14. 在Android的Sqlite數據庫執行查詢
- 15. 在where語句中使用子查詢
- 16. 數據庫查詢簡化了多行的WHERE子句
- 17. 如何用多個WHERE子句執行MySQL查詢?
- 18. 如何在Android Sqlite中使用WHERE IN子句?
- 19. 查詢執行計劃 - 何時執行Where子句?
- 20. 如何使用WHERE子句從sqlite中檢索數據iOS 8
- 21. 如何使用Zend_Db_Adapter_Mysqli :: fetchAll()中的「IN」WHERE子句進行查詢?
- 22. 休眠 - 不能用UserType執行查詢在where子句中
- 23. where子句在sqlite數據庫中不起作用
- 24. 在sqlite的WHERE子句中使用tupel
- 25. SQLite查詢與字節[] WHERE子句
- 26. Android SQLite查詢Where和Where
- 27. 如何在Android SQLite的where子句中包含參數?
- 28. 如何使用where子句從查詢的when子句返回
- 29. 如何將WHERE子句添加到SELECT查詢中?
- 30. 如何在SQL Developer的查詢的WHERE子句中使用unicode?
你有一個數據庫模式的例子嗎?也許甚至是一個「我想在這個領域捕獲這個價值並用它來在這個領域進行搜索」的例子? –
我想捕獲存儲在字符串中的配置文件值,其中db的mylocation列等於我活動中的currentlocation。 –