android 怎么替换外部数据库

android 怎么替换外部数据库,第1张

1 把原数据库包括在项目源码的 res/raw 目录下,然后建立一个DBManager类,代码如下:

package comandroidImportDatabase;

import javaioFile;

import javaioFileNotFoundException;

import javaioFileOutputStream;

import javaioIOException;

import javaioInputStream;

import androidcontentContext;

import androiddatabasesqliteSQLiteDatabase;

import androidosEnvironment;

import androidutilLog;

public class DBManager {

 private final int BUFFER_SIZE = 400000;

 public static final String DB_NAME = "countriesdb"; //保存的数据库文件名

 public static final String PACKAGE_NAME = "comandroidImportDatabase";

 public static final String DB_PATH = "/data"

         + EnvironmentgetDataDirectory()getAbsolutePath() + "/"

         + PACKAGE_NAME;  //在手机里存放数据库的位置

 private SQLiteDatabase database;

 private Context context;

 DBManager(Context context) {

     thiscontext = context;

 }

 public void openDatabase() {

     thisdatabase = thisopenDatabase(DB_PATH + "/" + DB_NAME);

 }

 private SQLiteDatabase openDatabase(String dbfile) {

     try {

         if (!(new File(dbfile)exists())) {//判断数据库文件是否存在,若不存在则执行导入,否则直接打开数据库

             InputStream is = thiscontextgetResources()openRawResource(

                     Rrawcountries); //欲导入的数据库

             FileOutputStream fos = new FileOutputStream(dbfile);

             byte[] buffer = new byte[BUFFER_SIZE];

             int count = 0;

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

                 foswrite(buffer, 0, count);

             }

             fosclose();

             isclose();

         }

         SQLiteDatabase db = SQLiteDatabaseopenOrCreateDatabase(dbfile,

                 null);

         return db;

     } catch (FileNotFoundException e) {

         Loge("Database", "File not found");

         eprintStackTrace();

     } catch (IOException e) {

         Loge("Database", "IO exception");

         eprintStackTrace();

     }

     return null;

 }

//do something else here<br>

 public void closeDatabase() {

     thisdatabaseclose();

 }

}

然后在程序的首个Activity中示例化一个DBManager对象,然后对其执行openDatabase方法就可以完成导入了,可以把一些要对数据库进行的 *** 作写在DBManager类里,然后通过DBManager类的对象调用;也可以在完成导入之后通过一个SQliteDatabase类的对象打开数据库,并执行 *** 作。

我的做法是 在程序的首个Activity中导入数据库:

package comandroidImportDatabase;

import androidappActivity;

import androidcontentIntent;

import androidosBundle;

public class RootView extends Activity {

 public DBManager dbHelper;

 @Override

 public void onCreate(Bundle savedInstanceState) {

     superonCreate(savedInstanceState);

     setContentView(Rlayoutmain);

     dbHelper = new DBManager(this);

     dbHelperopenDatabase();

     dbHelpercloseDatabase();

 }

}

此时在DDMS中可以查看到,外部数据库已经成功导入

不同的数据库,替换字段值的命令格式是不同的,现以MYSLQ 为例说明:

在数据库中修改一些内容,就需要用到下列语句:

sql语句为:UPDATE `table_name` SET `field_name` = replace (`field_name`,’from_str’,'to_str’) WHERE ……

代码说明: table_name —— 表的名字 field_name —— 字段名 from_str —— 需要替换的字符串 to_str —— 替换成的字符串 目的是为了直接用sql *** 作数据库修改字段中的某些字串,也可以使用下列方法有条件的替换,比较麻烦,需要三步,先SELECT出来符合的记录,然后进行字符串替换,再UPDATE。

假如我要替换的内容是:把’家 乐 福’字符替换成’Jia Le Fu’ 要替换的内容在:数据表 cdb_posts中的message 字段。那我们就应该这样写:

update dede_addonarticle set body=replace(body, ‘家乐福’, ‘Jia Le Fu’);

如果是在自编的程序中替换,用循环加赋值语句就行,当然,也可以直接使用用SQL命令来实现,就看你个人喜好了。

edb数据库一键替换里面的内容方法:

1、在PHPMyAdmin最上边有一个SQL标签。

2、点击进去,在MySQL中运行SQL语句,此时我们就可以用MySQL的批量替换代码。

1、数据库本身都带有replace函数可以直接替换,不同的数据库的replace替换语法不同,可以根据你的实际情况确定使用。这样可以直接使用SQL语句替换就可以了,在PHP中执行这个SQL。

2、直接在PHP使用查询语句,查询出需要替换的数据表数据,之后通过PHP的str_replace方法进行替换,将替换后的结果在创建一个Update的SQL语句,在PHP中再次执行Update语句,也可以实现更新。

根据自己的实际情况确定,选哪种都可以。

希望对你有帮助。

在B数据库中打开;查询分析器输入以下代码:

Insert into TKSQLDB_TRAIN_WEB_agTechBook (ST_Doc)

select ST_Doc from A数据库名TKSQLDB_TRAIN_WEB_sdTechBook

以上 *** 作;两个数据库要同一台电脑;如果不同的电脑还要做远程连接设置。

1、打开需要修改的Access数据库

2、在数据库“对象”中点击“查询”

3、点击“在设计视图中创建查询”

4、在出现的界面中关闭“显示表”小窗口

5、点击“视图”菜单,选择“SQL视图”,此时将出现查询窗口,您可以在此输入SQL语句了

6、直接输入以下SQL语句:

Update 表 SET 字段=replace(字段,"原字符","替换字符")

您可根据实际情况,将上面红字换掉即可,这里举个例子,假设表为biao、字段为content、原字符为xiazaijb51net、替换字符为down1jb51net,那么相应的SQL语句如下:

复制代码

代码如下:

Update biao SET

content=replace(content,"xiazaijb51net","down1jb51net")

7、点击工具栏中的感叹号,运行即可。

update

aaa

set

bbb=

select

substr(bbb,1,9)||'1'||substr(bbb,11,6)

where

bbb

like

'%一%'

;

如果你的bbb字段里还有很多带“一”的话,修改where的条件。

以上就是关于android 怎么替换外部数据库全部的内容,包括:android 怎么替换外部数据库、如何替换数据库中某个字段中的数据、edb数据库怎么一键替换里面的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存