首页 游戏 软件 排行 专题
Sqlite工具(SqliteStudio)
  • Sqlite工具(SqliteStudio)v3.3.3 绿色中文版

  • 大小:22.1M更新:2022-02-25 17:06
  • 类别:数据库类系统:WinAll, Win7

SqliteStudio是一款 Sqlite数据库可视化工具,是使用Sqlite数据库开发应用的必备软件,SqliteStudio软件无需安装,下载后解压即可使用,很小巧但很好用,绿色中文版本。比起其它SQLite管理工具,我喜欢用这个。很方便易用,不用安装的单个可执行文件,支持中文。

SQLiteStudio 是一个跨平台的 SQLite 数据库的管理工具,采用 Tcl 语言开发。

Sqlite工具(SqliteStudio)

SQLiteStudio的特色:

功能完善的sqlite2和sqlite3工具,视图编码支持utf8。
支持导出数据格式:csv、html、plain、sql、xml,
可同时打开多个数据库文件
支持查看和编辑二进制字段

SqliteStudio怎么用?

使用“sqlitestudio”打开(也可以使用其它sqlite可视化工具,个人习惯使用该工具,多语言小巧无需安装)

1、打开sqlitestudio ”数据库“-”添加数据库“

2、选择导出的那个数据库文件直接打开即可。

3、在sqlitestudio 可以创建和修改表也可以执行SQL语句基本可以满足常用需求

在sqlitestudio 导出表数据直接右键”导出表“ 默认格式CSV文件

4、导入表数据:

右键表名“import data to table”

SqliteStudio在Android程序中使用已有的SQLite数据库

1. 准备SQLite database文件

    假设你已经创建了一个sqlite数据库,我们需要对其进行一些修改。

   (译者注:这里原文是推荐了一个SQLite数据库管理软件,这个我觉得可以随自己的喜好,最Windows下面有多款可视化的SQlite数据库管理软件,可以方便的读取,编辑数据库,例如我用的是sqlitestudio

打开数据库,添加一个新的table “android_metadata",插入一行数据,具体的SQL如下:

[sql] view plaincopyprint?在CODE上查看代码片派生到我的代码片

CREATE TABLE "android_metadata" ("locale" TEXT DEFAULT 'en_US')  

INSERT INTO "android_metadata" VALUES ('en_US')  

   (译者注:上面两行是表明需要进行的操作,具体可以直接在sqlitesstudio中完成)

    然后你需要对你数据表格的primary id 列重命名为 “_id”,这样Adroid会知道怎么对id列进行绑定,你可以很容易的在SQlite数据库管理软件中进行列编辑。

    这两步之后,你的sqlite数据库文件就准备好了。

  (译者注:这里我保留了id列,即没有对其进行重命名,测试证明也是没有问题的)

2. 在你的Android程序中复制,打开以及访问数据库

    现在把你上一步准备好的数据库文件放在“assets”文件夹下面,然后通过继承 SQLiteOpenHelper类来创建一个Database Helper类,

你的DataBaseHelper类大致可以如下:

public class DataBaseHelper extends SQLiteOpenHelper{  

    //The Android's default system path of your application database.  

    private static String DB_PATH = "/data/data/YOUR_PACKAGE/databases/";  

    private static String DB_NAME = "myDBName";  

    private SQLiteDatabase myDataBase;   

    private final Context myContext;  

    /** 

     * Constructor 

     * Takes and keeps a reference of the passed context in order to access to the application assets and resources. 

     * @param context 

     */  

    public DataBaseHelper(Context context) {  

        super(context, DB_NAME, null, 1);  

        this.myContext = context;  

    }     

  /** 

     * Creates a empty database on the system and rewrites it with your own database. 

     * */  

    public void createDataBase() throws IOException{  

        boolean dbExist = checkDataBase();  

        if(dbExist){  

            //do nothing - database already exist  

        }else{  

            //By calling this method and empty database will be created into the default system path  

               //of your application so we are gonna be able to overwrite that database with our database.  

            this.getReadableDatabase();  

            try {  

                copyDataBase();  

            } catch (IOException e) {  

                throw new Error("Error copying database");  

            }  

        }  

    }  

    /** 

     * Check if the database already exist to avoid re-copying the file each time you open the application. 

     * @return true if it exists, false if it doesn't 

     */  

    private boolean checkDataBase(){  

        SQLiteDatabase checkDB = null;  

        try{  

            String myPath = DB_PATH + DB_NAME;  

            checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);  

        }catch(SQLiteException e){  

            //database does't exist yet.  

        }  

        if(checkDB != null){  

            checkDB.close();  

        }  

        return checkDB != null ? true : false;  

    }  

    /** 

     * Copies your database from your local assets-folder to the just created empty database in the 

     * system folder, from where it can be accessed and handled. 

     * This is done by transfering bytestream. 

     * */  

    private void copyDataBase() throws IOException{  

        //Open your local db as the input stream  

        InputStream myInput = myContext.getAssets().open(DB_NAME);  

        // Path to the just created empty db  

        String outFileName = DB_PATH + DB_NAME;  

        //Open the empty db as the output stream  

        OutputStream myOutput = new FileOutputStream(outFileName);  

        //transfer bytes from the inputfile to the outputfile  

        byte[] buffer = new byte[1024];  

        int length;  

        while ((length = myInput.read(buffer))>0){  

            myOutput.write(buffer, 0, length);  

        }  

        //Close the streams  

        myOutput.flush();  

        myOutput.close();  

        myInput.close();  

    }  

    public void openDataBase() throws SQLException{  

        //Open the database  

        String myPath = DB_PATH + DB_NAME;  

        myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);  

    }  

    @Override  

    public synchronized void close() {  

            if(myDataBase != null)  

                myDataBase.close();  

            super.close();  

    }  

    @Override  

    public void onCreate(SQLiteDatabase db) {  

    }  

    @Override  

    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  

    }  

        // Add your public helper methods to access and get content from the database.  

       // You could return cursors by doing "return myDataBase.query(....)" so it'd be easy  

       // to you to create adapters for your views.  

}  

    就这样。

    现在你可以创建一个新的DataBaseHelper实例,然后调用createDataBase(),然后再调用openDataBase()方法,记住修改DB_PATH字符串中“YOUR_PACKAGE”为你真正的package名称(也就是说com.examplename.myapp)

以下是示范代码:

[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片

...  

       DataBaseHelper myDbHelper = new DataBaseHelper();  

       myDbHelper = new DataBaseHelper(this);  

       try {  

        myDbHelper.createDataBase();  

    } catch (IOException ioe) {  

        throw new Error("Unable to create database");  

    }  

    try {  

        myDbHelper.openDataBase();  

    }catch(SQLException sqle){  

        throw sqle;  

    }  

       ...  

玩家留言 跟帖评论
第 2 楼 网友 2018/9/6 11:05:50
很好,多谢分享~

支持( 0 ) 盖楼(回复)

第 1 楼 网友 2018/8/9 15:21:38
很好,GOOD,谢谢分享

支持( 0 ) 盖楼(回复)

查看更多评论
相关应用
猜你喜欢

开发者其他应用

同类下载
其它版本