我学习ophone里使用sqlite3

2023-01-31 01:01:35 学习 sqlite3 ophone

写得很辛苦,大家觉得好的话请多多回帖支持我,有时间会发布第二篇

演示环境

windows xp
Eclipse 3.4.2
Ophone SDK 1.0
 
一、 创建工程
在Eclipse里
File->new->Android project->输入工程名sqlite_demo等等如下图:->点击完成
 

 

二、建立数据库连接类
在src下oms.sqlite_demo下新建DBHelper类
写代码如下
 
  1.  
  2. package oms.sqlite_demo; 
  3.  
  4. import android.content.Context; 
  5. import android.database.sqlite.SQLiteDatabase; 
  6. import android.database.sqlite.SQLiteOpenHelper; 
  7. import android.database.sqlite.SQLiteDatabase.CursorFactory; 
  8. import android.util.Log; 
  9.  
  10.  
  11. public class DBHelper extends SQLiteOpenHelper { 
  12.     private static SQLiteDatabase db = null; 
  13.      
  14.     public DBHelper(Context context, String dbname, CursorFactory factory, 
  15.             int version) { 
  16.         super(context, dbname, factory, version); 
  17.     } 
  18.      
  19.     public SQLiteDatabase getconnect() { 
  20.         if (db == null) { 
  21.             db = this.getWritableDatabase(); 
  22.         } 
  23.         return db; 
  24.     } 
  25.      
  26.     public void close() { 
  27.         if (db != null) { 
  28.             db.close(); 
  29.         } 
  30.     } 
  31.  
  32.     @Override 
  33.     public void onCreate(SQLiteDatabase arg0) { 
  34.  
  35.     } 
  36.  
  37.     @Override 
  38.     public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { 
  39.  
  40.     } 
  41.  

三、操作数据库

在sqlite_demo.java里的代码如下

 

  1. package oms.sqlite_demo; 
  2.  
  3. import android.app.Activity; 
  4. import android.database.Cursor; 
  5. import android.database.sqlite.SQLiteDatabase; 
  6. import android.os.Bundle; 
  7. import android.util.Log; 
  8.  
  9.  
  10. public class sqlite_demo extends Activity { 
  11.     private final String DB_NAME = "testdb"; 
  12.     private final String TABLE_NAME = "student"; 
  13.      
  14.     @Override 
  15.     public void onCreate(Bundle savedInstanceState) { 
  16.         super.onCreate(savedInstanceState); 
  17.         setContentView(R.layout.main); 
  18.         DBHelper dbh=new DBHelper(this.getBaseContext(),DB_NAME, null,1); 
  19.         SQLiteDatabase db= dbh.getconnect(); 
  20.         createTable(db); 
  21.         queryTable(db); 
  22.         dbh.close(); 
  23.     } 
  24.      
  25.      
  26. public void createTable( SQLiteDatabase db){ 
  27.         db.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " (" 
  28.                 + "stud_no" + " TEXT," 
  29.                 + "stud_name" + " TEXT" 
  30.                 + ");"); 
  31.      
  32.         String sql_1 = "insert into "+ TABLE_NAME +" (stud_no, stud_name) values('S777', 'Lily Chang');"; 
  33.         String sql_2 = "insert into " + TABLE_NAME +" (stud_no, stud_name) values('S888', 'Linda Lin');"; 
  34.         String sql_3 = "insert into " + TABLE_NAME +" (stud_no, stud_name) values('S999', 'Bruce Wang');"; 
  35.         db.execSQL(sql_1); db.execSQL(sql_2); db.execSQL(sql_3); 
  36.     } 
  37.     public void queryTable(SQLiteDatabase db){ 
  38.         String str="select * from "+TABLE_NAME; 
  39.         Cursor c =db.rawQuery(str,null); 
  40.          
  41.         Log.v("loginactive","查询记录"); 
  42.         Log.v("loginactive",String.valueOf(c.getCount()) ); 
  43.         if(c!=null){ 
  44.             c.moveToFirst(); 
  45.             while(!c.isLast()){ 
  46.                 Log.v("loginactive","outp."); 
  47.                 String stud_no=c.getString(0); 
  48.                 String stud_name=c.getString(1); 
  49.                 System.out.println(stud_no+"---------------"+stud_name); 
  50.                 Log.v("loginactive",stud_no+"---------------"+stud_name); 
  51.                 c.moveToNext(); 
  52.             } 
  53.         } 
  54.  
  55.     } 

四、启动DDMS
在eclipse里
Window->New Perspective->DDMS

 

五、运行
选择">"里的run configure->如下图填完后->apply->run

 

六、查看结果

点击run后马上点击右上角的DDMS就能在log里看到结果

七、命令行下查看数据库

Cd $OPHONE_HOME/tools

adb pull /data/data/oms.sqlite_dmoe/databases/testdb test.db

sqlite3 test.db

 

 

 

相关文章