欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android 对sqlite数据库的增删改查 博客分类: android sqlite

程序员文章站 2024-03-11 13:42:01
...

Sqlite是android平台的一款轻量级的、嵌入式的、关系型数据库产品,以下是一些主要概念。

1.Sqlite通过文件保存数据库,创建的数据库文件默认存在在/data/data/<package>/databases/的文件夹下,一个文件就是一个数据库。
2.一个数据库包含多个表格,一个表格包含不同的字段,字段类型等等,这与SQL数据库相似。

3.Sqlite记录没有顺序的概念,不存在第一第二类的概念,通过查询获取满足条件的记录。

 

android平台下操作数据库的的相关类

1、SQLiteOpenHelper 抽象类,用于创建和管理数据库以及版本,需要创建一个子类继承,该类封装了对数据库操作的基本方法,使用方便。

2、SQLiteDatabase 数据库访问类,主要是对数据库的增删改查等常用操作,功能比SQLiteOpenHelper丰富,比如事务管理,分页等等。

3、Cursor游标类,主要用来返回返回查询记录结果。

 

本程序主要采用SQLiteDatabase类操作数 据库,介绍android 平台下Sqlite的多种使用方法。主要功能如图。

android 对sqlite数据库的增删改查
            
    
    博客分类: android sqlite

图-1 Sqlite数据库界面的操作及其功能

android 对sqlite数据库的增删改查
            
    
    博客分类: android sqlite

图-2 创建的数据库截图

 

(1.)创建一个数据库

  1. //在文件夹/data/data/<package>/databases/创建一个students.db的数据库  
  2. //该类返回一个SQLiteDatabase,对那个数据库操作,就要打开该数据库  
  3. openOrCreateDatabase("students.db",SQLiteDatabase.CREATE_IF_NECESSARY, null);  
  4.    

(2.)删除一个数据库

 
  1. //在Context环境中,删除students.db,该方法返回一个boolean类型  
  2. deleteDatabase("students.db");  
  3.    

(3.)获取应用程序所有数据库的名称

 
  1. //在Context环境中,获取该应用程序的所有数据库名称(即databases文件夹下的数据库文件)  
  2. //该方法返回一个字符串数组  
  3. databaseList()  
  4.    

(4.)重命名一个数据库

 
  1. //将数据库data.db重命名为renamedata.db  
  2. File f = getDatabasePath("data.db");  
  3. File renameFile=getDatabasePath("renamedata.db");  
  4. f.renameTo(renameFile);  
  5.    

2.对表的操作

(1.)创建一个表(sql语句中创建)

 
  1. mDb.execSQL("create table if not exists "+table+  
  2. " (id integer primary key autoincrement, "  
  3. + "username text not null, info text not null);");  
  4.    

(2.)删除一个表

 
  1. mDb.execSQL("drop table if exists " + table);  
  2.    

(3.)修改表

Sqlite是不能修改一个表的字段,不能删除一个表的字段,但是可以重命名一个表的名称,可以添加一个字段及其属性

1.)重命名表

 
  1. mDb.execSQL("alter table " + oldTable + " rename to  "+ newTableName+";");  
  2.    

2.)添加一列

 
  1. mDb.execSQL("alter table  " + table + " add column " + column +  type + " ;");  
  2.    

(4.)获取一个数据库的所有表的名称

 
  1. mDb.rawQuery("select name from sqlite_master where type='table' order by name",null);  
  2.    

3.对数据库记录的操作

(1.)添加一条记录

 
  1. ContentValues values = new ContentValues();  
  2. values.put("username", user.getUsername());  
  3. values.put("info", user.getInfo());  
  4. mDb.insert(table, null, values);  
  5.    

(2.)删除一条记录

 
  1. String whereClause =  "id=?";  
  2. String[] whereArgs = new String[] {String.valueOf(id)};  
  3. mDb.delete(table, whereClause, whereArgs);  
  4.    

(3.)修改一条记录

 
  1. ContentValues values = new ContentValues();  
  2. values.put("username", username);  
  3. values.put("info", info);  
  4. String whereClause = "id=?";  
  5. String[] whereArgs = new String[] { String.valueOf(id) };  
  6. mDb.update(table, values, whereClause, whereArgs);  
  7.    

(4.)查询一条数据

 
  1. String[] columns = new String[] { "id", "username", "info" };  
  2. String selection = "id=?";  
  3. String[] selectionArgs = { String.valueOf(id) };  
  4. String groupBy = null;  
  5. String having = null;  
  6. String orderBy = null;  
  7. mDb.query(table, columns, selection,selectionArgs, groupBy, having, orderBy);  
  8.    

(5.)查询所有记录

 
  1. mDb.rawQuery("select * from "+table, null);  
  2.    

SqliteActivity源码类如下(注意:在点击对数据记录的增删改查时要先create table ,否则会因为无法找到mytable表而报错)

SqliteActivity.java

 
  1. package com.sqlite.main;  
  2.   
  3. import java.io.File;  
  4. import android.app.Activity;  
  5. import android.content.ContentValues;  
  6. import android.database.Cursor;  
  7. import android.database.SQLException;  
  8. import android.database.sqlite.SQLiteDatabase;  
  9. import android.os.Bundle;  
  10. import android.text.Html;  
  11. import android.view.View;  
  12. import android.view.View.OnClickListener;  
  13. import android.widget.Button;  
  14. import android.widget.TextView;  
  15. import android.widget.Toast;  
  16.   
  17. public class SqliteActivity extends Activity {  
  18. /** Called when the activity is first created. */  
  19.   
  20.     //SQLiteDatabase 引用  
  21.     SQLiteDatabase mDb;  
  22.     SQLiteDatabaseDao dao;  
  23.     //显示结果  
  24.     TextView show;  
  25.   
  26.     @Override  
  27.     public void onCreate(Bundle savedInstanceState) {  
  28.          super.onCreate(savedInstanceState);  
  29.          setContentView(R.layout.main);  
  30.         //默认创建一个users.db的数据库  
  31.          dao=new SQLiteDatabaseDao();  
  32.     
  33.     //创建一个数据库  
  34.     Button createDatabase=(Button)findViewById(R.id.createdatabase);  
  35.     createDatabase.setOnClickListener(createDatabaseClick);  
  36.     //获取所有数据库  
  37.     Button getDatabasesList=(Button)findViewById(R.id.getdatabaseslist);  
  38.     getDatabasesList.setOnClickListener(getDatabaseListClick);  
  39.     //重命名数据库  
  40.     Button renameDatabase=(Button)findViewById(R.id.renamedatabase);  
  41.     renameDatabase.setOnClickListener(renameDatabaseClick);  
  42.     //删除一个数据库  
  43.     Button removeDatabase=(Button)findViewById(R.id.removedatabase);  
  44.     removeDatabase.setOnClickListener(removeDatabaseClick);  
  45.     //创建一个表  
  46.     Button createTable=(Button)findViewById(R.id.createtable);  
  47.     createTable.setOnClickListener(createTableClick);  
  48.     //获取所有的表  
  49.     Button getTablesList=(Button)findViewById(R.id.gettableslist);  
  50.     getTablesList.setOnClickListener(getTablesListClick);  
  51.     //重命名一个表  
  52.     Button renameTable=(Button)findViewById(R.id.renametable);  
  53.     renameTable.setOnClickListener(renameTableClick);  
  54.     //删除一个表  
  55.     Button dropTable=(Button)findViewById(R.id.droptable);  
  56.     dropTable.setOnClickListener(dropTableClick);  
  57.     //为表添加一个字段  
  58.     Button addTableColumn=(Button)findViewById(R.id.addtablecolumn);  
  59.     addTableColumn.setOnClickListener(addTableColumnClick);  
  60.     //获取表的所有列  
  61.     Button getTableColumnsList=(Button)findViewById(R.id.gettablecolumnslist);  
  62.     getTableColumnsList.setOnClickListener(getTableColumnsListClick);  
  63.     //插入一条数据  
  64.     Button insertTable=(Button)findViewById(R.id.inserttable);  
  65.     insertTable.setOnClickListener(insertTableClick);  
  66.     //查询一条数据  
  67.     Button queryTable=(Button)findViewById(R.id.querytable);  
  68.     queryTable.setOnClickListener(queryTableClick);  
  69.     //更新一条数据  
  70.     Button updateTable=(Button)findViewById(R.id.updatetable);  
  71.     updateTable.setOnClickListener(updateTableClick);  
  72.     //删除一条数据  
  73.     Button delete=(Button)findViewById(R.id.delete);  
  74.     delete.setOnClickListener(deleteClick);  
  75.     //显示结果  
  76.     show=(TextView)findViewById(R.id.showresult);    
  77. }  
  78.   
  79. /************对按钮事件进行操作的事件响应****************/  
  80.   
  81.     //创建一个数据库  
  82.     OnClickListener createDatabaseClick=new OnClickListener() {  
  83.  
  84.         @Override  
  85.         public void onClick(View v) {  
  86.         // TODO Auto-generated method stub  
  87.         //创建一个名为students.db的数据库,主要是生成另外一个数据库以示区别  
  88.         openOrCreateDatabase("students.db",  SQLiteDatabase.CREATE_IF_NECESSARY, null);  
  89.         show.setText("创建的数据库路径为\n"  +getDatabasePath("students.db"));   
  90.     }  
  91. };  
  92.    
  93. //创建一个应用程序数据库的个数(list)的事件响应  
  94. OnClickListener getDatabaseListClick=new OnClickListener() {  
  95.     @Override  
  96.     public void onClick(View v) {  
  97.         // TODO Auto-generated method stub  
  98.         String []dblist=dao.getDatabasesList();  
  99.         String rs="";  
  100.         for(String s:dblist){  
  101.                  rs+=s+"\n";  
  102.         }  
  103.         show.setText("数据库名称为:\n"+ rs);    
  104.    }  
  105. };  
  106.     
  107. //重命名一个数据库的事件响应  
  108. OnClickListener renameDatabaseClick=new OnClickListener() {    
  109.     @Override  
  110.     public void onClick(View v) {  
  111.         // TODO Auto-generated method stub  
  112.         //创建一个data.db的数据库,并命名为renamedata.db数据库  
  113.         openOrCreateDatabase("data.db", SQLiteDatabase.CREATE_IF_NECESSARY, null);  
  114.         File f = getDatabasePath("data.db");  
  115.         File renameFile=getDatabasePath("renamedata.db");  
  116.         boolean b=f.renameTo(renameFile);  
  117.         if(b)  
  118.                  show.setText("data.db已经重命名为renamedata.db");  
  119.         else  
  120.         show.setText("无法重命名");  
  121.     }  
  122. };    
  123.   
  124. //删除一个数据库的事件响应  
  125. OnClickListener removeDatabaseClick=new OnClickListener() {  
  126.     @Override  
  127.     public void onClick(View v) {  
  128.         // TODO Auto-generated method stub  
  129.         /删除students.db数据库  
  130.         dao.dropDatabase("students.db");  
  131.         //重新获取数据库名称  
  132.         String []dblist=dao.getDatabasesList();  
  133.         String rs="";  
  134. for(String s:dblist){  
  135. rs+=s+"\n";  
  136. }  
  137. show.setText("数据库students.db已经删除\n现在数据库的名称为:\n"+rs);  
  138. }  
  139. };  
  140.   
  141. //创建一个表的事件响应  
  142.   
  143. OnClickListener createTableClick=new OnClickListener() {  
  144.   
  145. @Override  
  146. public void onClick(View v) {  
  147. // TODO Auto-generated method stub  
  148. //在user.db数据库中插入mytable表,并添加相应的字段  
  149. dao.createTable(mDb, "mytable");  
  150. show.setText("数据库students.db已经创建mytable表\n");  
  151.   
  152. }  
  153. };  
  154.   
  155.   
  156. //获取一个数据库的所有表个数(list)的事件响应  
  157.   
  158. OnClickListener getTablesListClick=new OnClickListener() {  
  159.   
  160. @Override  
  161. public void onClick(View v) {  
  162. // TODO Auto-generated method stub  
  163.   
  164. //显示所有的表的数据  
  165. String tableNames=dao.getTablesList(mDb);  
  166. show.setText(tableNames);  
  167.   
  168. }  
  169. };  
  170.   
  171. //重命名一个表的事件响应  
  172.   
  173. OnClickListener renameTableClick=new OnClickListener() {  
  174.   
  175. @Override  
  176. public void onClick(View v) {  
  177. // TODO Auto-generated method stub  
  178. //创建一个testtable的表  
  179. dao.createTable(mDb, "testtable");  
  180. //将testtable重命名为newtable  
  181. boolean b=dao.alterTableRenameTable(mDb, "testtable", "newtable");  
  182. if(b)show.setText("testtable已经重命名为\nnewtable表\n");  
  183. else show.setText("newtable已经存在\n请删除(drop table)后重试");  
  184. }  
  185. };  
  186.   
  187. //删除一个表的事件响应  
  188.   
  189. OnClickListener dropTableClick=new OnClickListener() {  
  190.   
  191. @Override  
  192. public void onClick(View v) {  
  193. // TODO Auto-generated method stub  
  194. //删除    newtable表  
  195. dao.dropTable(mDb, "newtable");  
  196. //显示所有的表的数据  
  197. String tableNames=dao.getTablesList(mDb);  
  198. show.setText("newtable已经删除\n现在表名称为:\n"+tableNames);  
  199. }  
  200. };  
  201.   
  202.   
  203. //修改一个表(给表添加一个字段)的事件响应  
  204.   
  205. OnClickListener addTableColumnClick=new OnClickListener() {  
  206.   
  207. @Override  
  208. public void onClick(View v) {  
  209. // TODO Auto-generated method stub  
  210. //默认添加一个password字段,类型为varchar,长度为30  
  211. boolean b=dao.alterTableAddColumn(mDb, "mytable", "password", " varchar(30)");  
  212. if(b)show.setText("已经添加password字段\n字符类型为:varchar\n长度为:30");  
  213. else show.setText("mytable表中password字段已经存在");  
  214. }  
  215. };  
  216.   
  217. //获取一个表的所有列的名称事件响应  
  218.   
  219. OnClickListener getTableColumnsListClick=new OnClickListener() {  
  220.   
  221. @Override  
  222. public void onClick(View v) {  
  223. // TODO Auto-generated method stub  
  224.   
  225. String str=dao.getTableColumns(mDb);  
  226. show.setText("mytable表的列名:\n"+str);  
  227. }  
  228. };  
  229.   
  230.   
  231. //对一个表添加一个数据的事件响应  
  232.   
  233. OnClickListener insertTableClick=new OnClickListener() {  
  234.   
  235. @Override  
  236. public void onClick(View v) {  
  237. // TODO Auto-generated method stub  
  238.   
  239. User user=new User();  
  240. user.setUsername("Mr.Young");  
  241. user.setInfo("好学生");  
  242. dao.insert(mDb, "mytable", user);  
  243.   
  244. Cursor c=dao.getAllData(mDb, "mytable");  
  245. if(c.moveToLast()){  
  246. String id=c.getString(0);  
  247. String username=c.getString(1);  
  248. String info=c.getString(2);  
  249.   
  250. show.setText("最新添加的一条数据:\n"+"id:"+id+"\nusername:"+username+"\ninfo:"+info);  
  251. }  
  252.   
  253. }  
  254. };  
  255.   
  256. //查询一个表的所有数据记录的事件响应  
  257.   
  258. OnClickListener queryTableClick=new OnClickListener() {  
  259.   
  260. @Override  
  261. public void onClick(View v) {  
  262. // TODO Auto-generated method stub  
  263. //默认查询mytable所有数据  
  264.   
  265. Cursor c=dao.getAllData(mDb, "mytable");  
  266. String s="";  
  267. int columnsSize=c.getColumnCount();  
  268. String []columns=c.getColumnNames();  
  269. String columnsName="";  
  270. //获取表头  
  271. for (String col : columns) {  
  272.   
  273. columnsName+=col+"\u0020 \u0020";  
  274. }  
  275. //获取表的内容  
  276. while(c.moveToNext()){  
  277.   
  278. for(int i=0;i<columnsSize;i++){  
  279. s+=c.getString(i)+"\u0020 \u0020";  
  280. }  
  281. s+="<br>";  
  282. }  
  283. show.setText(Html.fromHtml("<h5>"+columnsName+"</h5>"+s));  
  284. }  
  285. };  
  286.   
  287. //更新一个表的数据的事件响应  
  288.   
  289. OnClickListener updateTableClick=new OnClickListener() {  
  290.   
  291. @Override  
  292. public void onClick(View v) {  
  293. // TODO Auto-generated method stub  
  294. Cursor c=dao.getAllData(mDb, "mytable");  
  295. if(c.moveToFirst()){  
  296.   
  297. int first=Integer.valueOf(c.getString(0));  
  298.   
  299. //默认修改第一条记录  
  300. dao.update(mDb, "mytable", first, "Yong Ming", "学习成绩优异");  
  301. Cursor u=dao.queryById(mDb, "mytable", first);  
  302. u.moveToFirst();  
  303. show.setText("id为:"+first+"的记录已经修改:\nid:"+first+"\nusername:"+u.getString(1)+"\ninfo:"+u.getString(2));  
  304.   
  305. }else  
  306.   
  307. show.setText("没有要更新的记录!请添加数据后再作修改");  
  308. }  
  309. };  
  310.   
  311. //删除一个表的一条数据的事件响应  
  312.   
  313. OnClickListener deleteClick=new OnClickListener() {  
  314.   
  315. @Override  
  316. public void onClick(View v) {  
  317. // TODO Auto-generated method stub  
  318. Cursor c=dao.getAllData(mDb, "mytable");  
  319. if(c.moveToLast()){  
  320. int last=Integer.valueOf(c.getString(0));  
  321.   
  322. //默认删除最后一条记录  
  323. boolean b=dao.delete(mDb, "mytable", last);  
  324. if(b)  
  325. show.setText("成功删除id为:\n"+last+"的记录!");  
  326. }  
  327. else  
  328. show.setText("没有要删除的记录!");  
  329. }  
  330. };  
  331.   
  332.   
  333. //退出时关闭数据库  
  334. @Override  
  335. public void finish() {  
  336. // TODO Auto-generated method stub  
  337. super.finish();  
  338. mDb.close();  
  339. }  
  340.   
  341.   
  342.   
  343.   
  344.   
  345. /******************* 
  346. * 对Sqlite数据库进行操作的类 
  347. * ****************/  
  348.   
  349. class SQLiteDatabaseDao {  
  350.   
  351. public SQLiteDatabaseDao(){  
  352. mDb=openOrCreateDatabase("users.db",  
  353. SQLiteDatabase.CREATE_IF_NECESSARY, null);  
  354. }  
  355.   
  356. /************ 对数据库的操作 ***********************/  
  357.   
  358. // 获取所有数据库的名称  
  359. public String[] getDatabasesList() {  
  360.   
  361. return databaseList();  
  362. }  
  363.   
  364. // 创建一个数据库  
  365. public void createDatabase(String db) {  
  366.   
  367. openOrCreateDatabase(db, SQLiteDatabase.CREATE_IF_NECESSARY, null);  
  368. }  
  369.   
  370. // 删除一个数据库  
  371. public void dropDatabase(String db) {  
  372.   
  373. try {  
  374. deleteDatabase(db);  
  375.   
  376. } catch (SQLException e) {  
  377. Toast.makeText(getApplicationContext(), "删除数据库失败",  
  378. Toast.LENGTH_LONG).show();  
  379.   
  380. }  
  381. }  
  382.   
  383. /************ 对数据库的表的属性添加修改操作 ***********************/  
  384.   
  385. // 获取某个数据库的表的名称  
  386. public String getTablesList(SQLiteDatabase mDb) {  
  387.   
  388. Cursor c = mDb  
  389. .rawQuery(  
  390. "select name from sqlite_master where type='table' order by name",  
  391. null);  
  392. String str="";  
  393. while (c.moveToNext()) {  
  394. str+=c.getString(0)+"\n";  
  395.   
  396. }  
  397. return "表的名称为:\n"+str;  
  398. }  
  399.   
  400. // 创建一个表,默认创建一个username info字段的表,可以在后面的代码中添加相应的列  
  401. public void createTable(SQLiteDatabase mDb, String table) {  
  402. try {  
  403. mDb.execSQL("create table if not exists "+table+  
  404. " (id integer primary key autoincrement, "  
  405. + "username text not null, info text not null);");  
  406. } catch (SQLException e) {  
  407. Toast.makeText(getApplicationContext(), "数据表创建失败",  
  408. Toast.LENGTH_LONG).show();  
  409. }  
  410. }  
  411.   
  412. // 删除一个表  
  413. public void dropTable(SQLiteDatabase mDb, String table) {  
  414.   
  415. try {  
  416. mDb.execSQL("drop table if exists " + table);  
  417.   
  418. } catch (SQLException e) {  
  419. Toast.makeText(getApplicationContext(), "数据表删除失败",  
  420. Toast.LENGTH_LONG).show();  
  421. }  
  422.   
  423. }  
  424.   
  425. // 修改表--重命名表名  
  426. public boolean alterTableRenameTable(SQLiteDatabase mDb, String oldTable,  
  427. String newTableName) {  
  428. try {  
  429. mDb.execSQL("alter table " + oldTable + " rename to  "  
  430. + newTableName+";");  
  431.   
  432. } catch (SQLException e) {  
  433. Toast.makeText(getApplicationContext(), "数据表重命名失败",  
  434. Toast.LENGTH_LONG).show();  
  435. return false;  
  436. }  
  437.   
  438. return true;  
  439. }  
  440.   
  441. // 修改表--添加一列  
  442. // @table 需要修改的table名  
  443. // @column 添加的列的名称  
  444. // @type 列的类型,如text,varchar等  
  445. public boolean alterTableAddColumn(SQLiteDatabase mDb, String table,  
  446. String column, String type) {  
  447. try {  
  448. mDb.execSQL("alter table  " + table + " add column " + column  
  449. + type + " ;");  
  450.   
  451. } catch (SQLException e) {  
  452. Toast.makeText(getApplicationContext(), "数据表添加失败",  
  453. Toast.LENGTH_LONG).show();  
  454. return false;  
  455. }  
  456.   
  457. return true;  
  458. }  
  459.   
  460. // 获取表的列的名称  
  461. public String getTableColumns(SQLiteDatabase mDb) {  
  462.   
  463. Cursor c=dao.getAllData(mDb, "mytable");;  
  464. String []columns=c.getColumnNames();  
  465. String str="";  
  466. for (String s : columns) {  
  467.   
  468. str+=s+"\n";  
  469.   
  470. }  
  471.   
  472. return str;  
  473. }  
  474.   
  475. /************ 对数据库的表数据增删改查操作 ***********************/  
  476. // 添加一条数据,默认只向username和info字段添加数据  
  477.   
  478. public long insert(SQLiteDatabase mDb,String table,User user) {  
  479.   
  480. ContentValues values = new ContentValues();  
  481. values.put("username", user.getUsername());  
  482. values.put("info", user.getInfo());  
  483. return mDb.insert(table, null, values);  
  484. }  
  485.   
  486. /* 
  487. * 删除一条数据 
  488. */  
  489. public boolean delete(SQLiteDatabase mDb,String table,int id) {  
  490.   
  491. String whereClause =  "id=?";  
  492. String[] whereArgs = new String[] {String.valueOf(id)};  
  493. try{  
  494. mDb.delete(table, whereClause, whereArgs);  
  495. }catch (SQLException e) {  
  496. Toast.makeText(getApplicationContext(), "删除数据库失败",  
  497. Toast.LENGTH_LONG).show();  
  498. return false;  
  499. }  
  500. return true;  
  501. }  
  502.   
  503. /* 
  504. * 修改一条数据 
  505. */  
  506. public void update(SQLiteDatabase mDb,String table,int id,String username,String info)  
  507.  {  
  508.   
  509. ContentValues values = new ContentValues();  
  510. values.put("username", username);  
  511. values.put("info", info);  
  512. String whereClause = "id=?";  
  513. String[] whereArgs = new String[] { String.valueOf(id) };  
  514. mDb.update(table, values, whereClause, whereArgs);  
  515. }  
  516.   
  517. public Cursor queryById(SQLiteDatabase mDb,String table,int id) {  
  518.   
  519. // 第一个参数String:表名  
  520. // 第二个参数String[]:要查询的列名  
  521. // 第三个参数String:查询条件  
  522. // 第四个参数String[]:查询条件的参数  
  523. // 第五个参数String:对查询的结果进行分组  
  524. // 第六个参数String:对分组的结果进行限制  
  525. // 第七个参数String:对查询的结果进行排序  
  526. String[] columns = new String[] { "id", "username", "info" };  
  527. String selection = "id=?";  
  528. String[] selectionArgs = { String.valueOf(id) };  
  529. String groupBy = null;  
  530. String having = null;  
  531. String orderBy = null;  
  532. return mDb.query(table, columns, selection,  
  533. selectionArgs, groupBy, having, orderBy);  
  534. }  
  535.   
  536. public Cursor getAllData(SQLiteDatabase mDb,String table) {  
  537.   
  538. //遍历表所有数据  
  539. return mDb.rawQuery("select * from "+table, null);  
  540.   
  541.   
  542. /** 如果需要返回指定的列,则执行以下语句 
  543. String[] columns = new String[] { "id","username", "info" }; 
  544. // 调用SQLiteDatabase类的query函数查询记录 
  545. return mDb.query(table, columns, null, null, null, null, 
  546. null); 
  547.  
  548. */  
  549.   
  550. }  
  551.   
  552. }  
  553.   
  554. }  
相关标签: sqlite