如何在移动APP中,创建sqlite数据库时在指定文件位置

如何在移动APP中,创建sqlite数据库时在指定文件位置,第1张

要在Android系统中 *** 作SQLite数据库,是通过Android的核心类SQLiteDatabase类来实现的,通常情况下为了数据库升级的需要以及使用方便,会选择继承SQLiteOpenHelper抽像类,但是SQLiteOpenHelper会将数据库文件创建在一个固定的目录(内存的/data/data/<package name/databases>目录中),如果想使用已经存在的数据库文件也就是说数据库会和程序一起发布,就得通过使用SQLiteDabase的静态方法OpenOrCreateDatabase()方法来得到SQLiteDabase对象,下面是一个具体 *** 作类:

package netmydao;

import javaioFile;

import javaioFileOutputStream;

import javaioInputStream;

import netmyjokebookR;

import androidappActivity;

import androidcontentContext;

import androiddatabasesqliteSQLiteDatabase;

public class DBHelper {

//得到SD卡路径

private final String DATABASE_PATH = androidosEnvironment

getExternalStorageDirectory()getAbsolutePath()

+ "/joke";

private final Activity activity;

//数据库名

private final String DATABASE_FILENAME;

public DBHelper(Context context) {

// TODO Auto-generated constructor stub

//这里直接给数据库名

DATABASE_FILENAME = "jokebookdb3";

activity = (Activity)context;

}

//得到 *** 作数据库的对象

public SQLiteDatabase openDatabase()

{

try

{

boolean b = false;

//得到数据库的完整路径名

String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;

//将数据库文件从资源文件放到合适地方(资源文件也就是数据库文件放在项目的res下的raw目录中)

//将数据库文件复制到SD卡中 File dir = new File(DATABASE_PATH);

if (!direxists())

b = dirmkdir();

//判断是否存在该文件

if (!(new File(databaseFilename))exists())

{

//不存在得到数据库输入流对象

InputStream is = activitygetResources()openRawResource(

Rrawjokebook);

//创建输出流

FileOutputStream fos = new FileOutputStream(databaseFilename);

//将数据输出

byte[] buffer = new byte[8192];

int count = 0;

while ((count = isread(buffer)) > 0)

{

foswrite(buffer, 0, count);

}

//关闭资源

fosclose();

isclose();

}

//得到SQLDatabase对象

SQLiteDatabase database = SQLiteDatabaseopenOrCreateDatabase(

databaseFilename, null);

return database;

}

catch (Exception e)

{

Systemoutprintln(egetMessage());

}

return null;

}

}

写完这个类之后,就能得到SQLiteDatabase对象,就能对数据库 *** 作了。

指定数据库,需要有所有表查询权限和视图创建权限use [database]Grant select to [userName]GRANT CREATE VIEW TO [userName]

创建表时指定!

createtableent_MachStat

(

EntpCodechar(9)notnull,MachSumINT,PowerSumDECIMAL(16,2),OldWorthDECIMAL(16,2),OnlyWorthDECIMAL(16,2),PowerRateDECIMAL(16,2),TeckRateDECIMAL(16,2),constraintP_Key_1primarykey(EntpCode)

)inTS_XXX;

工具/材料:Management Studio。

1、首先在桌面上,点击“Management Studio”图标。

2、然后在该界面中,右键点击“新建数据库”。

3、之后在该界面中,输入数据库名称。

4、接着在该界面中,点击数据库文件里,test的存储路径选择按钮。

5、然后在该界面中,选中指定存储位置,点击“确定”按钮。

6、继续在该界面中,点击数据库文件里,test_log的存储路径选择按钮。

7、再者在该界面中,选中指定存储位置,点击“确定”按钮。

8、最后在该界面中,点击“确定”按钮即可。

Microsoft Access 提供了三种方法来创建 Access 数据库 (Microsoft Access 数据库:数据和对象(如表、查询或窗体)组成的集合,与特定的主题或用途有关。)。

可以使用“数据库向导”来创建数据库。通过该向导可以从内置模板中进行选择,然后对其进行一定程度的自定义。随后,该向导会为数据库创建一组表、查询、窗体和报表,同时还会创建切换面板。表中不含任何数据。如果内置模板中的某个模板非常符合您的要求,请使用该方法。

使用“数据库向导”创建数据库

利用“数据库向导”,用一步 *** 作即可为所选数据库类型创建必需的表、窗体和报表。这是创建数据库的最简单方法。该向导提供了有限的选项来自定义数据库。

单击工具栏上的“新建”。

在“新建文件”任务窗格中,在“模板”下,单击“本机上的模板”。

在“数据库”选项卡上,单击要创建的数据库类型的图标,然后单击“确定”。

在“文件新建数据库”对话框中,指定数据库的名称和位置,然后单击“创建”。

按照“数据库向导”的指导进行 *** 作。

如果向导未启动

这可能是因为 Access 正运行于沙盒模式,但您的计算机上尚未安装 Microsoft Jet 40 SP8 或更高版本。启用沙盒模式后,必须安装有 Jet 40 SP8 或更高版本,Access 才能完全发挥作用。

有关安装 Jet 升级的详细信息,请参阅 Office Online 文章关于 Microsoft Jet 40 SP8 或更高版本。

有关沙盒模式的详细信息,请参阅 Office Online 文章关于 Microsoft Jet Expression Service 沙盒模式。

注释 不能使用“数据库向导”向已有的数据库中添加新的表、窗体或报表。

如果正在使用 Access 2003,可以在 <Office Online> 中搜索 Access 模板。下载模板是创建数据库的最快方式。如果您找到了非常符合要求的模板,请使用该方法。模板是一个包含表、查询、窗体和报表的 Access 数据库文件 (mdb)。表中不含任何数据。打开数据库后,可以自定义数据库和对象。

使用模板创建数据库

这是创建数据库的最快方式。如果能找到并使用与您的要求非常接近的模板,则此方法效果最佳。

在工具栏上单击“新建”。

在“新建文件”任务窗格中,在“模板”下,搜索特定的模板,或单击“Office Online 模板”找到合适的模板。

找到需要的 Access 模板,然后单击“下载”。

如果要基于自己的设计创建数据库,请先创建一个空数据库,然后再分别添加表、窗体、报表及其他对象。这是最灵活的方法,但需要分别定义每一个数据库元素。

不使用“数据库向导”创建空数据库

单击工具栏上的“新建”。

在“新建文件”任务窗格中的“新建”下,单击“空数据库”。

在“文件新建数据库”对话框中,指定数据库的名称和位置,然后单击“创建”。

然后将出现“数据库”窗口 (数据库窗口:在打开 Access 数据库或 Access 项目时出现的窗口。它显示用于新建数据库对象和打开现有对象的快捷方式。),现在便可以在数据库中创建所需的对象 (数据库对象:Access 数据库包含诸如表、查询、窗体、报表、页、宏和模块等对象;Access 项目包含诸如窗体、报表、页、宏和模块等对象。)。

以上就是关于如何在移动APP中,创建sqlite数据库时在指定文件位置全部的内容,包括:如何在移动APP中,创建sqlite数据库时在指定文件位置、在SQL2008中新建一个用户,为其指定数据库,需要有所有表查询权限和视图创建权限,应该怎么进行控制、db2创建数据库时怎么指定路径(db2编目本地数据库)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9814438.html

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

发表评论

登录后才能评论

评论列表(0条)

保存