<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 有貓相伴的日子 閱讀(7836) 評論(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
    不錯?。z能利用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无码专区| 国产成人综合久久精品免费| 91亚洲性爱在线视频| 成年女性特黄午夜视频免费看| 看免费毛片天天看| 久久久久久a亚洲欧洲AV| 91成人免费观看网站| 一本久久免费视频| 亚洲国产精品无码久久久| 又爽又黄无遮挡高清免费视频| 免费看搞黄视频网站| 亚洲国产精品无码第一区二区三区| 亚洲中文字幕无码一区| 好男人www免费高清视频在线| 国产成人无码免费网站| 亚洲日本国产综合高清| 日韩va亚洲va欧洲va国产| 青青青国产免费一夜七次郎| 久热免费在线视频| 黄色一级视频免费观看| 亚洲国产中文在线视频| 国产aⅴ无码专区亚洲av| 日本一道本高清免费| 四虎成年永久免费网站| aa毛片免费全部播放完整| 亚洲妇女无套内射精| 亚洲熟妇无码久久精品| 77777亚洲午夜久久多人| 国产免费131美女视频| 久久99九九国产免费看小说| 麻豆精品成人免费国产片| 无遮挡免费一区二区三区| 亚洲精品无码一区二区| 亚洲系列中文字幕| 久久亚洲国产伦理| 国产av无码专区亚洲av果冻传媒| 国产一区二区三区免费看| 一个人免费观看在线视频www| 久久成人免费大片| a级精品九九九大片免费看| 边摸边吃奶边做爽免费视频网站|