sqlite 怎样实现将查询的结果添加到表中 实现表的自复制

sqlite 怎样实现将查询的结果添加到表中 实现表的自复制,第1张

用如下语句:

create table 新表名 as select  from 旧表名;

数据库test表中有如下数据:

执行语句:

create table test1 as select  from test;--其中test1为要新建的表

执行后,test1表中数据如图,内容与test表中一致,也就说明复制成功。

要在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对象,就能对数据库 *** 作了。

以上就是关于sqlite 怎样实现将查询的结果添加到表中 实现表的自复制全部的内容,包括:sqlite 怎样实现将查询的结果添加到表中 实现表的自复制、如何在移动APP中,创建sqlite数据库时在指定文件位置、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存