<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    本站不再更新,歡迎光臨 java開發技術網
    隨筆-230  評論-230  文章-8  trackbacks-0

    今晚寫了個sqLite的應用例子,粘一下代碼,就不詳細詳述了。

    package com.peidw.demo;

    import java.io.FileNotFoundException;

    import android.content.Context;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.database.sqlite.SQLiteDatabase.CursorFactory;
    import android.util.Log;

    /**
     * 數據庫操作
     * 
    @author peidw 2009-04-06
     *
     
    */
    public class DatabaseHelper extends SQLiteOpenHelper{
        
    private Context ctx = null;
        
        
    public DatabaseHelper(Context context, String name, CursorFactory factory, int version) {
            
    super(context, name, factory, version);

        }
        

        @Override
        
    public void onCreate(SQLiteDatabase arg0) {
            
        }
        @Override
        
    public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
            
        }

        

    }
    package com.peidw.demo;

    import java.util.*;
    import android.app.*;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.database.sqlite.SQLiteDatabase.CursorFactory;
    import android.os.*;
    import android.util.*;

    /**
     * 操作數據庫例子
     * 
    @author peidw 2009-04-19
     *
     
    */
    public class ConnectionProvider {
        
        
    private static  SQLiteDatabase db=null;
        
        
        
    public  ConnectionProvider(Context ctx) {
            
    if (db==null){
                Log.v(
    "ConnectionProvider","ctx="+ctx.toString());
                DatabaseHelper dbHelper
    =new DatabaseHelper(ctx,"StudDB"null,1);
                db
    = dbHelper.getWritableDatabase();
            }
        }
        
        
    public SQLiteDatabase getConnection (){
            
    return db;
        }
        
        
    public void closeConnection (){
            db.close();
        }
        
    /**
         * 判斷表是否存在
         * 
    @param tablename
         * 
    @return
         
    */
        
    public boolean isTableExits(String tablename){
            
    boolean result=false;//表示不存在
            String str="select count(*) xcount  from sqlite_master where table='"+tablename+"'";
            Cursor c 
    = db.rawQuery(str,null);
            
    int xcount=c.getColumnIndex("xcount");
            
    if(xcount!=0){
                result
    =true//表存在
            }
            
    return result;
        }
    }

    在程序中操作數所的代碼片段

     ConnectionProvider cp
    =new ConnectionProvider(this.getBaseContext());
            
    // if(cp.isTableExits(TABLE_NAME)){//表已存在
                 createTable(cp);
                queryTable(cp);
            
    // }else{//表不存在
            
    //     createTable();
            
    // }



    public void createTable( ConnectionProvider cp){
            

            SQLiteDatabase db
    = cp.getConnection();
            db.execSQL(
    "CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " ("
                    
    + "stud_no" + " TEXT,"
                    
    + "stud_name" + " TEXT"
                    
    + ");");
        
            String sql_1 
    = "insert into "+ TABLE_NAME +" (stud_no, stud_name) values('S777', 'Lily Chang');";
            String sql_2 
    = "insert into " + TABLE_NAME +" (stud_no, stud_name) values('S888', 'Linda Lin');";
            String sql_3 
    = "insert into " + TABLE_NAME +" (stud_no, stud_name) values('S999', 'Bruce Wang');";
            db.execSQL(sql_1); db.execSQL(sql_2); db.execSQL(sql_3);
        }
        
    public void queryTable(ConnectionProvider cp){
            String str
    ="select * from "+TABLE_NAME;
            Cursor c 
    =cp.getConnection().rawQuery(str,null);
            Log.v(
    "loginactive","查詢記錄");
            Log.v(
    "loginactive",String.valueOf(c.getCount()) );
            
    if(c!=null){
                c.moveToFirst();
                
    while(!c.isLast()){
                    Log.v(
    "loginactive","outp.");
                    String stud_no
    =c.getString(0);
                    String stud_name
    =c.getString(1);
                    System.out.println(stud_no
    +"---------------"+stud_name);
                    Log.v(
    "loginactive",stud_no+"---------------"+stud_name);
                    c.moveToNext();
                }
            }

        }
    麻煩幫單擊一次廣告了 !!!

    posted on 2009-04-19 22:20 有貓相伴的日子 閱讀(7847) 評論(4)  編輯  收藏 所屬分類: Android

    評論:
    # re: android 中使用sqLite例子[未登錄] 2009-08-12 13:42 | qingsong
    不錯  回復  更多評論
      
    # re: android 中使用sqLite例子 2010-08-16 14:13 | 路過
    while(!c.isLast()){
    ...
    }
    如果select出來的只有1條數據 豈不是滿足了條件 不執行循環內的邏輯了  回復  更多評論
      
    # re: android 中使用sqLite例子 2010-08-24 19:39 | unix007
    不錯!!lz能利用sqlite開發出一個類似listpro的軟件嗎?listpro是wm和palm上面很非常好用的記事軟件,不少玩家使用這個軟件有10年之久,可惜現在廠家不開發android這個版本的軟件。
    如果你能開發出來,我可以召集最少30個人購買。關于listpro,你可以上www.iliumsoft.com這個網站查看一下。如果興趣,詳細情況可以聯系我:88584832@163.com, QQ:66118390  回復  更多評論
      
    # re: android 中使用sqLite例子[未登錄] 2012-11-19 16:35 | kevin
    # re: android 中使用sqLite例子 2010-08-16 14:13 | 路過

    while(!c.isLast()){
    ...
    } 應該是筆誤,筆者的意圖貌似:
    while(!c.isAfterLast()){
    ...
    }   回復  更多評論
      
    本站不再更新,歡迎光臨 java開發技術網
    主站蜘蛛池模板: 久久精品无码精品免费专区| 亚洲av综合avav中文| 2022年亚洲午夜一区二区福利 | 久久国产乱子伦免费精品| 亚洲人成在线播放网站| 久久毛片免费看一区二区三区| 两性色午夜视频免费网| 精品国产亚洲男女在线线电影 | 在线免费观看中文字幕| 亚洲熟妇无码一区二区三区| 两个人的视频高清在线观看免费| wwwxxx亚洲| 亚洲AV综合色区无码一二三区 | 成人午夜视频免费| 亚洲狠狠色丁香婷婷综合| 又粗又黄又猛又爽大片免费| 特级毛片全部免费播放a一级| 亚洲国产精品第一区二区三区| 中文字幕免费在线看电影大全| 亚洲AV天天做在线观看| 最新黄色免费网站| 国产aa免费视频| 国产黄色免费观看| 亚洲人成电影在在线观看网色| 最近免费中文字幕mv在线电影| 亚洲日日做天天做日日谢| 国产成人高清精品免费鸭子 | 亚洲永久无码3D动漫一区| 亚洲视频免费在线观看| 亚洲阿v天堂在线2017免费| 亚美影视免费在线观看| 久久精品国产亚洲AV无码娇色 | 久久久久免费看黄a级试看| 亚洲一区二区三区亚瑟| 边摸边吃奶边做爽免费视频99| 国产中文在线亚洲精品官网| 亚洲视频在线免费看| 国产亚洲综合视频| 久久亚洲AV成人出白浆无码国产| 日韩午夜免费视频| 免费看搞黄视频网站|