當前位置:首頁 » 安卓系統 » android資料庫查詢

android資料庫查詢

發布時間: 2022-05-18 00:07:57

① Android 中資料庫查詢方法query() 中的selectionArgs 參數只能在編譯之前確定,這怎麼實現動態查詢

網上找來的
Android 中涉及資料庫查詢的地方一般都會有一個 query() 方法,而這些 query 中有大都(全部?)會有一個參數 selectionArgs,比如下面這個 android.database.sqlite.SQLiteDatabase.query():
view plain to clipboardprint?
public Cursor query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy)
public Cursor query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy)
    selection 參數很好理解,就是 SQL 語句中 WHERE 後面的部分,即過濾條件, 比如可以為 id=3 AND name='Kevin Yuan' 表示只返回滿足 id 為 3 且 name 為 "Kevin Yuan" 的記錄。
    再實際項目中像上面那樣簡單的「靜態」的 selection 並不多見,更多的情況下要在運行時動態生成這個字元串,比如
view plain to clipboardprint?
public doQuery(long id, final String name) { 
  mDb.query("some_table", // table name 
        null, // columns 
        "id=" id " AND name='" name "'", // selection 
        //...... 更多參數省略 
  ); 
}
public doQuery(long id, final String name) {
  mDb.query("some_table", // table name
        null, // columns
        "id=" id " AND name='" name "'", // selection
        //...... 更多參數省略
  );
}
在這種情況下就要考慮一個字元轉義的問題,比如如果在上面代碼中傳進來的 name 參數的內容裡面有單引號('),就會引發一個 "SQLiteException syntax error .... "。
    手工處理轉義的話,也不麻煩,就是 String.replace() 調用而已。但是 Android SDK 為我們准備了 selectionArgs 來專門處理這種問題:
view plain to clipboardprint?
public void doQuery(long id, final String name) { 
  mDb.query("some_table", // table name 
        null, // columns 
        "id=" id " AND name=?", // selection 
        new String[] {name}, //selectionArgs 
        //...... 更多參數省略 
  ); 
  // ...... 更多代碼 
}
public void doQuery(long id, final String name) {
  mDb.query("some_table", // table name
        null, // columns
        "id=" id " AND name=?", // selection
        new String[] {name}, //selectionArgs
        //...... 更多參數省略
  );
  // ...... 更多代碼
}
也就是說我們在 selection 中需要嵌入字元串的地方用 ? 代替,然後在 selectionArgs 中依次提供各個用於替換的值就可以了。在 query() 執行時會對 selectionArgs 中的字元串正確轉義並替換到對應的 ? 處以構成完整的 selection 字元串。 有點像 String.format()。
    不過需要注意的是 ? 並不是「萬金油」,只能用在原本應該是字元串出現的地方。比如下面的用法是錯誤的:
view plain to clipboardprint?
public void doQuery(long id, final String name) { 
  mDb.query("some_table", // table name 
        null, // columns 
        "? = " id " AND name=?", // selection XXXX 錯誤!? 不能用來替換欄位名 
        new String[]{"id", name}, //selectionArgs 
      //...... 更多參數省略 
  ); 
  // ...... 更多代碼 
}

② android 怎麼查看資料庫中的數據

1,進入到控制台中,輸入adb shell,進入到命令模式的環境中
2,輸入:cd /data/data/
3, 選擇你所在的資料庫文件,比如我的com.android.homework, 輸入命令:cd com.android.homework
4, 可以使用ls -l 命令查看當前目錄中的文件
5,輸入: cd databases 進入到資料庫文件中
6, ls -l 顯示你資料庫中你建立的資料庫
7, sqlite3 info.db 進入到你選擇的資料庫中
8, .tables :查看你建的表
9, select * from table_name;s 可以查看整個表的信息
10, 使用其他的SQL語句可以進一步對表進行操作,注意SQL語句必須用分號(;)結尾

③ android APP如何連接伺服器上的SQL資料庫,直接在手機上查詢、更新資料庫信息

後台操作資料庫的增刪改查,然後寫成介面,android端來調用介面,返回數據顯示就ok了

④ android 怎麼查看sqlite資料庫

在Android中查看和管理sqlite資料庫

在Android中可以使用Eclipse插件DDMS來查看,也可以使用Android工具包中的adb工具來查看。android
項目中的sqlite資料庫位於/data/data/項目包/databases中。
使用DDMS導出sqlite資料庫。

1、首先打開android項目的調試模式,然後找到顯示DDMS:

選擇DDMS

2、切換到DDMS,顯示File Explorer窗口,找到/data/data/

然後找到程序包的文件夾,打開databases,就能看到sqlite資料庫文件了。選擇將其導出。

這樣就把sqlite資料庫文件以文件的方式導出來了,然後使用sqlite界面管理工具如
sqlite administrator、sqlite man或者firefox插件sqlite manager等打開就可以了。

使用adb工具訪問sqlite資料庫

Android Debug Bridge(ADB)是Android的一個通用調試工具,它可以更新設備或模擬器中的代碼,
可以管理預定埠,可以在設備上運行shell命令,我們知道android是基於linux內核,它的內部
文件結構也是採用linux文件組織方式,因此訪問它的文件結構需要使用shell。這次我們就會用shell
來訪問android應用中的sqlite資料庫文件。

1、運行cmd,切換到android-sdk目錄,運行adb.exe,加上參數shell,出現#號就代表進入了shell
命令模式,注意adb要在Android模擬器運行時才能進入shell:

2、shell命令記住兩個基本命令ls和cd,類似windows命令提示行中的dir和cd,代表列出當前目錄下
文件列表和進入到指定目錄。了解這兩個命令之後,就可以找到data/data/項目包名/databases:

找到資料庫文件:

接下來就是使用sqlite管理工具來進行操作了。鍵入sqlite3 資料庫名就進入了sqlite管理模式了。

在android的sdk中自帶了sqlite3.exe,這是sqlite的官方管理工具,它是一個命令行工具。為了使用
方便,將其路徑注冊到系統環境變數path中,即將;%Android_Home%加在Path中,這樣只樣運行sqlite3
,就能直接打開sqlite管理工具了。

sqlite管理資料庫篇

sqlite命令行工具默認是以;結束語句的。所以如果只是一行語句,要在末尾加;,或者在下一行中鍵入
;,這樣sqlite命令才會被執行。

sqlite常用命令:

.tables--查看資料庫的表列表

.exit--退出sqlite命令行

其他命令可隨時.help查看幫助。sql命令可直接在此命令行上執行即可

⑤ android 資料庫如何去查找某一條數據

select * from tableName where id = '1';唯一特定的欄位來確定一條記錄。

結構化查詢語言(Structured Query Language)簡稱SQL(發音:/ˈes
kjuː ˈel/ "S-Q-L"),是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統,
可以使用相同的結構化查詢語言作為數據輸入與管理的介面。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。

⑥ android SQLite資料庫查詢

這個很簡單的:
//打開或創建test.db資料庫
SQLiteDatabasedb = openOrCreateDatabase("test.db", Context.MODE_PRIVATE, null);

//創建person表
db.execSQL("DROPTABLE IF EXISTS person");
db.execSQL("CREATE TABLE person (_idINTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, age SMALLINT)");

//插入數據
Personperson = new Person();
person.name= "john";
person.age = 30;
db.execSQL("INSERT INTO person VALUES(NULL, ?, ?)",new Object[]{person.name, person.age});

//讀取數據
Cursor c = db.rawQuery("SELECT* FROM person WHERE age >= ?", new String[]{"33"});
while (c.moveToNext()) {
int _id = c.getInt(c.getColumnIndex("_id"));
String name = c.getString(c.getColumnIndex("name"));
int age = c.getInt(c.getColumnIndex("age"));
Log.i("db", "_id=>" + _id + ", name=>" + name + ", age=>" + age);
}
c.close();

//關閉當前資料庫
db.close();

⑦ Android中對資料庫進行條件查詢

android讀取資料庫可以使用sqlite一些api進行讀取,實例如下:
/**
*
查找一條數據
*
@param
uid
*/
public
user
find(integer
uid){
sqlitedatabase
db=dbopenhelper.getreadabledatabase();
//創建資料庫輔助類
cursor
cursor
=db.rawquery("select
*
from
user
where
uid=?",
new
string[]{uid.tostring()});
//創建一個游標
if(cursor.movetofirst()){
//循環遍歷查找數組
int
uid2=cursor.getint(cursor.getcolumnindex("uid"));
string
uname=cursor.getstring(cursor.getcolumnindex("uname"));
string
uaddress=cursor.getstring(cursor.getcolumnindex("uaddress"));
user
user=new
user();
user.setuid(uid2);
user.setuname(uname);
user.setuaddress(uaddress);
return
user;
}
cursor.close();
return
null;
}

⑧ 如何使用adb命令查看android中的資料庫

1,進入到控制台中,輸入adb shell,進入到命令模式的環境中

2,輸入:cd /data/data/

3, 選擇你所在的資料庫文件,比如我的com.android.homework, 輸入命令:cd com.android.homework

4, 可以使用ls -l 命令查看當前目錄中的文件

5,輸入: cd databases 進入到資料庫文件中

6, ls -l 顯示你資料庫中你建立的資料庫

7, sqlite3 info.db 進入到你選擇的資料庫中

8, .tables :查看你建的表

9, select * from table_name;s 可以查看整個表的信息

10, 使用其他的SQL語句可以進一步對表進行操作,注意SQL語句必須用分號(;)結尾



如下圖所示:

⑨ Eclipse開發android如何查詢資料庫

在android中先通過SQLiteOpenHelper建立資料庫和表 然後用SQLiteOpenHelper對象去查詢;
主要的兩句代碼如下:
SQLiteOpenHelper helper=new SQLiteOpenHelper();

helper.getWritableDatabase().execSQL("select score form S");

⑩ Android怎麼查看手機中的本地資料庫

這個需要你root手機,root手機後使用adb shell 能找到手機中database中的資料庫XX.db文件,然後使用sqlite3命令打開,這些命令可以直接網路。前提你手機必須root
或者你使用虛擬機

熱點內容
新商盟如何看自己的密碼 發布:2022-06-28 20:30:45 瀏覽:576
sqlserver怎麼導入數據 發布:2022-06-28 20:30:42 瀏覽:67
批處理創建日期文件夾 發布:2022-06-28 20:28:57 瀏覽:235
我的世界伺服器怎麼找ip地址 發布:2022-06-28 20:28:47 瀏覽:696
家用電腦cs伺服器 發布:2022-06-28 20:28:07 瀏覽:688
linuxu盤修復 發布:2022-06-28 20:26:38 瀏覽:984
java調用php 發布:2022-06-28 20:24:22 瀏覽:61
手機怎麼緩存快 發布:2022-06-28 20:24:10 瀏覽:534
安卓哪個軟體可以下飢荒 發布:2022-06-28 20:23:55 瀏覽:794
戰棋爭霸安卓名是什麼 發布:2022-06-28 20:20:52 瀏覽:332