现在的位置: 首页 > 综合 > 正文

android sqlite 多表操作

2013年06月03日 ⁄ 综合 ⁄ 共 14783字 ⁄ 字号 评论关闭
Java代码
复制代码
 收藏代码
  1. package com.yangguangfu.database;   
  2.   
  3. import android.content.Context;   
  4. import android.database.sqlite.SQLiteDatabase;   
  5. import android.database.sqlite.SQLiteOpenHelper;   
  6. import android.util.Log;   
  7. /**  
  8.  * 默认就在数据库里创建4张表  
  9.  * @author 阿福(trygf521@126.com)  
  10.  *  
  11.  */  
  12. public class DBOpenHelper extends SQLiteOpenHelper {   
  13.     private static final String name = "database.db";//数据库名称
      
  14.     private static final int version = 1;//数据库版本
      
  15.   
  16.     public DBOpenHelper(Context context) {   
  17.         super(context, name, null, version);   
  18.     }   
  19.   
  20.     @Override  
  21.     public void onCreate(SQLiteDatabase db) {   
  22.         Log.e("DBOpenHelper""DBOpenHelperDBOpenHelperDBOpenHelperDBOpenHelper");   
  23.         db.execSQL("CREATE TABLE IF NOT EXISTS config (id integer primary key autoincrement, s varchar(60), rt varchar(60),st varchar(60), ru varchar(60), v varchar(60),i varchar(60))");   
  24.         db.execSQL("CREATE TABLE IF NOT EXISTS application (id integer primary key autoincrement, s varchar(60), tt varchar(60),st varchar(60),tc1 varchar(60), tc2 varchar(60), ru varchar(60),tn varchar(60),m varchar(60))");
      
  25.         db.execSQL("CREATE TABLE IF NOT EXISTS install (id integer primary key autoincrement, na varchar(60), it varchar(60),d varchar(60))");   
  26.         db.execSQL("CREATE TABLE IF NOT EXISTS smslist (id integer primary key autoincrement, t varchar(60), st varchar(60),n1 varchar(60),n2 varchar(60),n varchar(60),m varchar(60),a varchar(60))");   
  27.     }   
  28.   
  29.      
  30.     @Override  
  31.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
      
  32.         Log.e("DBOpenHelper""onUpgradeonUpgradeonUpgradeonUpgrade");   
  33.         db.execSQL("DROP TABLE IF EXISTS config");   
  34.         db.execSQL("DROP TABLE IF EXISTS application");   
  35.         db.execSQL("DROP TABLE IF EXISTS install");   
  36.         db.execSQL("DROP TABLE IF EXISTS smslist");   
  37.         onCreate(db);   
  38.            
  39.     }   
  40.        
  41.   
  42.   
  43. }  

 

数据库服务

Java代码
复制代码
 收藏代码
  1. package com.yangguangfu.database;   
  2.   
  3.   
  4. import android.content.Context;   
  5. import android.database.Cursor;   
  6.   
  7. import com.yangguangfu.bean.ApplicationInfo;   
  8. import com.yangguangfu.bean.ConfigInfo;   
  9. import com.yangguangfu.bean.InstallInfo;   
  10. import com.yangguangfu.bean.SMSInfo;   
  11. /**  
  12.  * 数据库方法封装,创建表,删除表,数据(增删该查)...  
  13.  * @author 阿福(trygf521@126.com)  
  14.  *  
  15.  */  
  16. public class DatabaseService {   
  17.     private DBOpenHelper dbOpenHelper;   
  18.   
  19.     public DatabaseService(Context context) {   
  20.         dbOpenHelper = new DBOpenHelper(context);   
  21.     }   
  22.   
  23.     public void dropTable(String taleName) {   
  24.         dbOpenHelper.getWritableDatabase().execSQL(   
  25.                 "DROP TABLE IF EXISTS " + taleName);   
  26.   
  27.     }   
  28.        
  29.        
  30.     public void closeDatabase(String DatabaseName) {   
  31.         dbOpenHelper.getWritableDatabase().close();   
  32.                    
  33.     }   
  34.     public void createConfigTable() {   
  35.         String sql = "CREATE TABLE IF NOT EXISTS config (id integer primary key autoincrement, s varchar(60), rt varchar(60),st varchar(60), ru varchar(60), v varchar(60),i varchar(60))";   
  36.         dbOpenHelper.getWritableDatabase().execSQL(sql);   
  37.     }   
  38.   
  39.     public void createTableApplication() {   
  40.         String sql = "CREATE TABLE IF NOT EXISTS application (id integer primary key autoincrement, s varchar(60), tt varchar(60),st varchar(60),tc1 varchar(60), tc2 varchar(60), ru varchar(60),tn varchar(60),m varchar(60))";
      
  41.         dbOpenHelper.getWritableDatabase().execSQL(sql);   
  42.     }   
  43.   
  44.     public void createTableInstall() {   
  45.         String sql = "CREATE TABLE IF NOT EXISTS install (id integer primary key autoincrement, na varchar(60), it varchar(60),d varchar(60))";   
  46.         dbOpenHelper.getWritableDatabase().execSQL(sql);   
  47.     }   
  48.   
  49.     public void createTableSmslist() {   
  50.         String sql = "CREATE TABLE IF NOT EXISTS smslist (id integer primary key autoincrement, t varchar(60), st varchar(60),n1 varchar(60),n2 varchar(60),n varchar(60),m varchar(60),a varchar(60))";   
  51.         dbOpenHelper.getWritableDatabase().execSQL(sql);   
  52.     }   
  53.   
  54.     public void saveConfigInfo(ConfigInfo configInfo) {   
  55.         dbOpenHelper.getWritableDatabase().execSQL(   
  56.                 "insert into config (s, rt, st, ru, v,i) values(?,?,?,?,?,?)",   
  57.                 new Object[] { configInfo.getS(), configInfo.getRt(),   
  58.                         configInfo.getSt(), configInfo.getRu(),   
  59.                         configInfo.getV(), configInfo.getI() });   
  60.     }   
  61.   
  62.     public void saveApplicationInfo(ApplicationInfo configInfo) {   
  63.         dbOpenHelper   
  64.                 .getWritableDatabase()   
  65.                 .execSQL(   
  66.                         "insert into application (s,tt,tc1,tc2,ru,tn,m) values(?,?,?,?,?,?,?)",   
  67.                         new Object[] { configInfo.getS(), configInfo.getTt(),   
  68.                                 configInfo.getTc1(), configInfo.getTc2(),   
  69.                                 configInfo.getRu(), configInfo.getTn(),   
  70.                                 configInfo.getM() });   
  71.     }   
  72.   
  73.     public void saveMsmInfo(SMSInfo configInfo) {   
  74.         dbOpenHelper   
  75.                 .getWritableDatabase()   
  76.                 .execSQL(   
  77.                         "insert into smslist (t,st,n1,n2,n,m,a) values(?,?,?,?,?,?,?)",   
  78.                         new Object[] { configInfo.getT(), configInfo.getSt(),   
  79.                                 configInfo.getN1(), configInfo.getN2(),   
  80.                                 configInfo.getN(), configInfo.getM(),   
  81.                                 configInfo.getA() });   
  82.     }   
  83.   
  84.     public void saveInstallInfo(InstallInfo configInfo) {   
  85.         dbOpenHelper.getWritableDatabase().execSQL(   
  86.                 "insert into install (na,it,d) values(?,?,?)",   
  87.                 new Object[] { configInfo.getNa(), configInfo.getIt(),   
  88.                         configInfo.getD() });   
  89.     }   
  90.   
  91.     public void updateConfigInfo(ConfigInfo configInfo) {   
  92.         dbOpenHelper.getWritableDatabase().execSQL(   
  93.                 "update config set s=?, rt=?, st=?, ru=?, v=?,i=? where id=?",   
  94.                 new Object[] { configInfo.getS(), configInfo.getRt(),   
  95.                         configInfo.getSt(), configInfo.getRu(),   
  96.                         configInfo.getV(), configInfo.getI(),   
  97.                         configInfo.getId() });   
  98.     }   
  99.   
  100.     public void updateApplicationInfo(ApplicationInfo configInfo) {   
  101.         dbOpenHelper   
  102.                 .getWritableDatabase()   
  103.                 .execSQL(   
  104.                         "update application set s=?, tt=?, st=?, tc1=?, tc2=?,ru=?,tn=?,m=? where id=?",   
  105.                         new Object[] { configInfo.getS(), configInfo.getTt(),   
  106.                                 configInfo.getSt(), configInfo.getTc1(),   
  107.                                 configInfo.getTc2(), configInfo.getRu(),   
  108.                                 configInfo.getTn(),configInfo.getM(), configInfo.getId() });   
  109.     }   
  110.   
  111.     public void updateInstallInfo(InstallInfo configInfo) {   
  112.         dbOpenHelper.getWritableDatabase().execSQL(   
  113.                 "update install set na=?, it=?, d=? where id=?",   
  114.                 new Object[] { configInfo.getNa(), configInfo.getIt(),   
  115.                         configInfo.getD(), configInfo.getId() });   
  116.     }   
  117.   
  118.     public void updateSMSInfo(SMSInfo configInfo) {   
  119.         dbOpenHelper   
  120.                 .getWritableDatabase()   
  121.                 .execSQL(   
  122.                         "update smslist set t=?, st=?, n1=?, n2=?, n=?, m=?, a=? where id=?",   
  123.                         new Object[] { configInfo.getT(), configInfo.getSt(),   
  124.                                 configInfo.getN1(), configInfo.getN2(),   
  125.                                 configInfo.getN(), configInfo.getM(),   
  126.                                 configInfo.getA(), configInfo.getId() });   
  127.     }   
  128.   
  129.     public void deleteItemData(String tableName, Integer id) {   
  130.         dbOpenHelper.getWritableDatabase()   
  131.                 .execSQL("delete from " + tableName + " where id=?",   
  132.                         new Object[] { id });   
  133.     }   
  134.   
  135.   
  136.     public InstallInfo findInstallInfo(Integer id) {   
  137.         Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery(   
  138.                 "select id,na,it,d from install where id=?",   
  139.                 new String[] { String.valueOf(id) });   
  140.         if (cursor.moveToNext()) {   
  141.             InstallInfo configInfo = new InstallInfo();   
  142.             configInfo.setId((cursor.getInt(0)));   
  143.             configInfo.setNa(cursor.getString(1));   
  144.             configInfo.setIt(cursor.getString(2));   
  145.             configInfo.setD(cursor.getString(3));   
  146.   
  147.             return configInfo;   
  148.         }   
  149.         return null;   
  150.     }   
  151.   
  152.     public ConfigInfo findConfigInfo(Integer id) {   
  153.         Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery(   
  154.                 "select id,s,rt,st,ru,v,i from config where id=?",   
  155.                 new String[] { String.valueOf(id) });   
  156.         if (cursor.moveToNext()) {   
  157.             ConfigInfo configInfo = new ConfigInfo();   
  158.             configInfo.setId((cursor.getInt(0)));   
  159.             configInfo.setS(cursor.getString(1));   
  160.             configInfo.setRt(cursor.getString(2));   
  161.             configInfo.setSt(cursor.getString(3));   
  162.             configInfo.setRu(cursor.getString(4));   
  163.             configInfo.setV(cursor.getString(5));   
  164.             configInfo.setI(cursor.getString(6));   
  165.   
  166.             return configInfo;   
  167.         }   
  168.         return null;   
  169.     }   
  170.   
  171.     public SMSInfo findSMSInfo(Integer id) {   
  172.         Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery(   
  173.                 "select id,t,st,n1,n2,n,m,a from smslist where id=?",   
  174.                 new String[] { String.valueOf(id) });   
  175.         if (cursor.moveToNext()) {   
  176.             SMSInfo configInfo = new SMSInfo();   
  177.             configInfo.setId((cursor.getInt(0)));   
  178.             configInfo.setT(cursor.getString(1));   
  179.             configInfo.setSt(cursor.getString(2));   
  180.             configInfo.setN1(cursor.getString(3));   
  181.             configInfo.setN2(cursor.getString(4));   
  182.             configInfo.setN(cursor.getString(5));   
  183.             configInfo.setM(cursor.getString(6));   
  184.             configInfo.setA(cursor.getString(7));   
  185.   
  186.             return configInfo;   
  187.         }   
  188.         return null;   
  189.     }   
  190.   
  191.     public ApplicationInfo findApplication(Integer id) {   
  192.         Cursor cursor = dbOpenHelper   
  193.                 .getWritableDatabase()   
  194.                 .rawQuery(   
  195.                         "select id,s,tt,st,tc1,tc2,ru,tn,m from application where id=?",   
  196.                         new String[] { String.valueOf(id) });   
  197.         if (cursor.moveToNext()) {   
  198.             ApplicationInfo applicationinfo = new ApplicationInfo();   
  199.             applicationinfo.setId((cursor.getInt(0)));   
  200.             applicationinfo.setS(cursor.getString(1));   
  201.             applicationinfo.setTt(cursor.getString(2));   
  202.             applicationinfo.setSt(cursor.getString(3));   
  203.             applicationinfo.setTc1(cursor.getString(4));   
  204.             applicationinfo.setTc2(cursor.getString(5));   
  205.             applicationinfo.setRu(cursor.getString(6));   
  206.             applicationinfo.setTn(cursor.getString(7));   
  207.             applicationinfo.setM(cursor.getString(8));   
  208.   
  209.             return applicationinfo;   
  210.         }   
  211.         return null;   
  212.     }   
  213.   
  214.     public long getDataCount(String tableName) {   
  215.         Cursor cursor = dbOpenHelper.getReadableDatabase().rawQuery(   
  216.                 "select count(*) from " + tableName, null);   
  217.         cursor.moveToFirst();   
  218.         return cursor.getLong(0);   
  219.     }   
  220.   
  221. //  // ///////////////////////   
  222. //  public LinkedList<ConfigInfo> getScrollData(int startindex, int maxResult) {
      
  223. //      LinkedList<ConfigInfo> xmlInfos = new LinkedList<ConfigInfo>();
      
  224. //      Cursor cursor = dbOpenHelper.getReadableDatabase().rawQuery(
      
  225. //              "select id,s,rt,st,ru,v,i from config limit ?,?,?,?,?,?",
      
  226. //              new String[] { String.valueOf(startindex),
      
  227. //                      String.valueOf(maxResult) });
      
  228. //      while (cursor.moveToNext()) {
      
  229. //          ConfigInfo xmlInfo = new ConfigInfo();
      
  230. //          xmlInfo.setId((cursor.getInt(0)));
      
  231. //          xmlInfo.setS(cursor.getString(1));
      
  232. //          xmlInfo.setRt(cursor.getString(2));
      
  233. //          xmlInfo.setSt(cursor.getString(6));
      
  234. //          xmlInfo.setRu(cursor.getString(3));
      
  235. //          xmlInfo.setV(cursor.getString(4));
      
  236. //          xmlInfo.setI(cursor.getString(5));
      
  237. //          xmlInfos.add(xmlInfo);
      
  238. //      }   
  239. //      cursor.close();   
  240. //      return xmlInfos;   
  241. //  }   
  242. //   
  243. //  // //////////////   
  244. //  public Cursor getScrollDataCursor(int startindex, int maxResult) {
      
  245. //      Cursor cursor = dbOpenHelper
      
  246. //              .getReadableDatabase()
      
  247. //              .rawQuery(   
  248. //                      "select id as _id,s,rt,li,ru,tn,m from config limit ?,?,?,?,?,?",
      
  249. //                      new String[] { String.valueOf(startindex),
      
  250. //                              String.valueOf(maxResult) });
      
  251. //      return cursor;   
  252. //  }   
  253. //   
  254. //  public Cursor getScrollDataCursorApplication(int startindex, int maxResult) {
      
  255. //      Cursor cursor = dbOpenHelper
      
  256. //              .getReadableDatabase()
      
  257. //              .rawQuery(   
  258. //                      "select id as _id,s,tt,st,st,ru,v,i from application limit ?,?,?,?,?,?,?",
      
  259. //                      new String[] { String.valueOf(startindex),
      
  260. //                              String.valueOf(maxResult) });
      
  261. //      return cursor;   
  262. //  }   
  263.   
  264.     public void close() {   
  265.         dbOpenHelper.close();   
  266.     }   
  267.   
  268. }  

抱歉!评论已关闭.