如何用Perl访问SQLite数据库

如何用Perl访问SQLite数据库,第1张

在我几个Android应用中,我需要访问已有的数据库。这些数据库往往很大,甚至超过asset文件大约1兆字节的限制。而且在新的版本中数据库需要更新。我在网上,特别是StackOverflow看了一些文章,并做了一些试验,觉得下面的代码能基本上满足我的需求。其主要思路是:1.把数据库分解成几个asset文件。2.当需要打开数据库时,如果数据库不存在,就把那几个asset文件重新合并成一个数据库文件。3.如果数据库的版本改变了,就在onUpgrade()方法中把数据库文件删除掉。下面是代码://数据库的缺省路径privatestaticfinalStringDB_PATH="/data/data/com.mypackage.myapp/databases/"privatestaticfinalStringDB_NAME="mydb.db"privatestaticfinalintDB_VERSION=2privatestaticfinalStringDB_SPLIT_NAME="mydb.db.00"privatestaticfinalintDB_SPLIT_COUNT=3privateSQLiteDatabasem_databaseprivatefinalContextm_context/***Constructor*保存传进来的context参数以用来访问应用的asset和资源文件。*@paramcontext*/publicMyDB(Contextcontext){super(context,DB_NAME,null,DB_VERSION)this.m_context=context}publicstaticMyDBopenDatabaseReadOnly(Contextcontext){MyDBdb=newMyDB(context)try{db.createDataBase()}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace()}db.openDataBase(SQLiteDatabase.OPEN_READONLY)returndb}publicstaticMyDBopenDatabaseReadWrite(Contextcontext){MyDBdb=newMyDB(context)try{db.createDataBase()}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace()}db.openDataBase(SQLiteDatabase.OPEN_READWRITE)returndb}/***创建一个空数据库,用来存储你已有的数据库。*/publicvoidcreateDataBase()throwsIOException{booleandbExist=checkDataBase()if(dbExist){/***如果你的数据库的版本改变了,调用这个方法确保在onUpgrade()被调用时**传进去的是可写的数据库。*/SQLiteDatabasedb=this.getWritableDatabase()if(db!=null){db.close()}}dbExist=checkDataBase()if(!dbExist){

一. 安装Win32-ODBC模块

步骤1:

从TOOLS栏目中下载Win32-ODBC.zip,下载完后用winzip解开到一个temp目录,共有三个文件:

Readme

Win32-ODBC.ppd

Win32-ODBC.tar.gz

步骤2:

在DOS窗口下,temp目录中运行下面的DOS命令:ppm install Win32-ODBC.ppd。

二. 准备测试用数据库(Access)

步骤1:

启动MS ACCESS,建立一个新空数据库,命名为odbctest.mdb,保存在某一目录中(记住路径)。

步骤2:

然后新建一个表,建立三个字段:

字段名称 数据类型长度

Name 字符, 长度50

Email字符, 长度50

Age 数字、长整型

将这个表保存为address(注意这个例子中,没有用自动增加的ID。输入若干记录:

Nighthawk [email protected] 20 1234567

John [email protected] 24 0284393293

kit [email protected] 18 3948932

保存后,关闭数据库文件。

步骤3:

打开控制面板中的 ODBC数据源(32位),在用户DSN栏中,找到用户数据源列表,选中名称为“MS Access 97 Database”的一行,然后按“配置”键。

在Database框中按“Select..”,选择步骤1.2中建立的数据库文件odbctest.mdb,按OK即可。ODBC设置中的其它项目全部采用缺省设置,然后就是OK,确定,关闭对话窗口。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6830492.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存