当前位置:首页 » 安卓系统 » android数据库删除数据

android数据库删除数据

发布时间: 2022-10-04 18:50:46

⑴ android中怎么删除数据库数据

对,直接删除文件就可以:File dbFile = new File("/data/data/你的包名/databases/你的数据库名");dbFile.delete();应用对自己的目录是有权限删除的

⑵ android 程序开发我的sqlite数据库 删除数据的时候程序崩溃 提示我写的数据库删除那一列出错!是什么情况

这是因为你在关闭了数据库以后还执行了删除所致,通常一个方法里边开头打开数据库,结束的时候调用db.close(); 如果你方法里边调用了别的数据库方法,没准那方法里边也调用了db.close这样就在你使用之前关闭了数据库,你检查一下吧。

⑶ 安卓开发怎么删除数据库中所有表数据

直接删除数据库,数据库会自动重新创建
public
class
DatabaseHelper
extends
SQLiteOpenHelper
{
private
static
DatabaseHelper
mInstance
=
null;
/**
数据库名称
**/
public
static
final
String
DATABASE_NAME
=
"xys.db";
/**
数据库版本号
**/
private
static
final
int
DATABASE_VERSION
=
1;
/**数据库SQL语句
添加一个表**/
private
static
final
String
NAME_TABLE_CREATE
=
"create
table
test("
+
"_id
INTEGER
PRIMARY
KEY
AUTOINCREMENT,"
+
"name
TEXT,"+"hp
INTEGER
DEFAULT
100,"+
"mp
INTEGER
DEFAULT
100,"
+
"number
INTEGER);";
DatabaseHelper(Context
context)
{
super(context,
DATABASE_NAME,
null,
DATABASE_VERSION);
}
/**单例模式**/
static
synchronized
DatabaseHelper
getInstance(Context
context)
{
if
(mInstance
==
null)
{
mInstance
=
new
DatabaseHelper(context);
}
return
mInstance;
}
@Override
public
void
onCreate(SQLiteDatabase
db)
{
/**向数据中添加表**/
db.execSQL(NAME_TABLE_CREATE);
}
@Override
public
void
onUpgrade(SQLiteDatabase
db,
int
oldVersion,
int
newVersion)
{
/**可以拿到当前数据库的版本信息
与之前数据库的版本信息
用来更新数据库**/
}
/**
*
删除数据库
*
@param
context
*
@return
*/
public
boolean
deleteDatabase(Context
context)
{
return
context.deleteDatabase(DATABASE_NAME);
}
}

⑷ android数据库怎么删除列

ALTERTABLE的SQLiteSQLite支持ALTERTABLE的一个有限子集。

在ALTERSQLite中允许一个表或一个新列添加到现有表。删除列,或者添加或从表中删除约束。

sqlite中是不支持删除有值的列操作的,所以altertabletable_namedropcolumncol_name这个语句在sqlite中是无效的,而替代的方法可以如下:

1.根据原表创建一张新表

2.删除原表

3.将新表重名为旧表的名称

示例例子如下


1.创建一张旧表Student,包含id(主码),name,tel

createtablestudent(

idintegerprimarykey,

nametext,

teltext

)


2.给旧表插入两个值

insertintostudent(id,name,tel)values(101,"Jack","110")

insertintostudent(id,name,tel)values(102,"Rose","119")


3.接下来我们删除电话这个列,首先根据student表创建一张新表teacher

createtableteacherasselectid,namefromstudent


4.然后我们删除student这个表

droptableifexistsstudent


5.将teacher这个表重命名为student


结果演示:

select*fromstudentorderbynamedesc(desc降序,asc升序)

⑸ 如何对android多媒体数据库进行增删改

Android四种存储方式: sharedpreference,file,SQlite,contentprovider。

1、SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。实现SharedPreferences存储的步骤如下:

一、根据Context获取SharedPreferences对象

二、利用edit()方法获取Editor对象。

三、通过Editor对象存储key-value键值对数据。

四、通过commit()方法提交数据。

具体实现代码如下:实现存储,读取,清除,删除

效果图:

首先创建:// 首先拿到sharedpreference对象

mShared =getSharedPreferences(SHARED_MAIN_XML, MODE_PRIVATE);

存储:

private void write() {// 存入数据

savename = name.getText().toString().trim();

saveage = Integer.valueOf(age.getText().toString().trim());

Editor editor = mShared.edit();

editor.putString("name", savename);

editor.putInt("age", saveage);

// 保证操作的事务完整性

editor.commit();

}

阅读:

private String read() {// 从数据库里读取数据

namecontent = mShared.getString("name", "数据库里没有存储姓名");

agecontent = mShared.getInt("age", 0);

String reading = "姓名:" + namecontent + "\n年龄:" + agecontent;

return reading;

}

清除内容:

private void clear() {//清除内容

/** 开始清除SharedPreferences中保存的内容 **/

Editor editor = mShared.edit();

editor.remove("name");

editor.remove("age");

editor.commit();

}

删除文件:

private void delete() {//删除文件

/** 删除SharedPreferences文件 **/

Filefile = new File("/data/data/cn.csdn.activity" + "/shared_prefs/"

+ SHARED_MAIN_XML + ".xml");

if (file.exists()) {

file.delete();

Toast.makeText(this, "删除成功", Toast.LENGTH_LONG).show();

}

}

haredPreferences对象与SQLite数据库相比,免去了创建数据库,创建表,写SQL语句等诸多操作,相对而言更加方便,简洁。但是SharedPreferences也有其自身缺陷,比如其职能存储boolean,int,float,long和String五种简单的数据类型,比如其无法进行条件查询等。所以不论SharedPreferences的数据存储操作是如何简单,它也只能是存储方式的一种补充,而无法完全替代如SQLite数据库这样的其他数据存储方式。

2、File: 即常说的文件(I/O)存储方法,常用存储大数量的数据,但是缺点是更新数据将是一件困难的事情。

下面实现:在本地data文件下使用自己生成的文件处理数据的新建储存 读取 删除

如果说不想把内容存在SharedPreferences中的话,我们可以自己写一个文件保存须要的数据,在这里我将文件保存在系统中的工程路径下。

跟上面布局一样,删除文件也一样,清除内容也查不多,下面只是简单的写和读的方法:

写:

17String
nameage="名字:"+name.getText().toString().trim()+"年龄:"+age.getText().toString();

try {

os = this.openFileOutput(SHARED_MAIN_XML, MODE_PRIVATE);

/* 把字符串转换成字节数组,写入文件中 */

os.write(nameage.getBytes());

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}finally {

try {

/* 关闭文件输出流 */

os.close();

} catch (IOException e) {

e.printStackTrace();

}

}

读:

private String read() {

String nameage="";

// 打开文件输入流,

try {

is = this.openFileInput(SHARED_MAIN_XML);

/* 初始化字节数组 */

b = new byte[1024];

/* 从文件输入流中读取内容到字节数组中,返回内容长度 */

int length = is.read(b);

/* 把字节数组转换成字符串 */

nameage= new String(b);

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return nameage;

}

很简单吧!!

3、SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是:

NULL: 空值

INTEGER: 整数

REAL: 浮点数

TEXT: 字符串

BLOB: 大数据

它是一个轻量级的数据库、非常小 、 移植性好、效率高、可靠

在Android系统中提供了android.database.sqlite包,用于进行SQLite数据库的增、删、改、查工作。

创建与删除数据库

封装一个类去继承SQLiteOpenHelper
在构造函数中传入数据库名称与数据库版本号,数据库被创建的时候会调用onCreate(SQLiteDatabase db)
方法,数据库版本号发生改变的时候会调用onUpgrade(SQLiteDatabase db, int oldVersion,
intnewVersion)方法,可以方便的对软件游戏升级后做出相应处理避免覆盖安装数据库发生改变产生的错误。调用SQLiteOpenHelper
的getReadableDatabase()方法去创建数据库,如果数据库不存在则创建并且返回SQLiteDatabase对象,如果数据库存在则不创建只返回SQLiteDatabase对象。调用
deleteDatabase(DATABASE_NAME)方法 传入数据库名称则可删除数据库。

第一种:详细请看上一遍博客:android之利用SQLite数据库实现登陆和注册,http://blog.csdn.net/rhljiayou/article/details/7085347

下面介绍第二种:另一种添删改查操作

效果图:

布局文件很简单,在此不再给出!!

直接给创建数据库和表,增删改查的代码:

public class UserService {

private DatabaseHelper helper;

public UserService(Context context, String name, int version) {

helper = new DatabaseHelper(context, name, version);

}

public UserService(Context context, String name) {

helper = new DatabaseHelper(context, name);

}

public void insert(UserDao user) {// 插入数据

SQLiteDatabase sdb = helper.getWritableDatabase();

ContentValues values = new ContentValues();

values.put("username", user.getUsername());

values.put("password", user.getPassword());

sdb.insert("user", "name", values);

sdb.close();

}

public void delete(int id) {// 删除数据

SQLiteDatabase sdb = helper.getWritableDatabase();

sdb.delete("user", "id=?", new String[]{String.valueOf(id)});

sdb.close();

}

public void update(UserDao user, int id) {// 更新数据

SQLiteDatabase sdb = helper.getWritableDatabase();

ContentValues values=new ContentValues();

values.put("username", user.getUsername());

values.put("password", user.getPassword());

sdb.update("user", values, "id=?", new String[]{String.valueOf(id)});

sdb.close();

}

public Cursor select() {// 查询所有数据

SQLiteDatabase sdb = helper.getWritableDatabase();

return sdb.query("user", new String[]{"id as _id","username","password"},
null, null, null, null, null);

}

public UserDao find(int id){//按id查询数据

UserDao user=null;

SQLiteDatabase sdb=helper.getWritableDatabase();

Cursor cursor=sdb.query("user", new String[]{"id","username","password"},
"id=?", new String[]{String.valueOf(id)}, null, null, null);

if(cursor.moveToFirst()){

user=new UserDao();

user.setId(cursor.getInt(0));

user.setUsername(cursor.getString(1));

user.setPassword(cursor.getString(2));

}

cursor.close();

sdb.close();

return user;

}

}

插入数据:通过insert(String table, StringnullColumnHack, ContentValues
values)方法插入数据,其中参数含义分别为:

table: 目标表名

nullColumnHack:
指定表中的某列列名。因为在SQLite中,不允许不允许插入所有列均为null的记录,因此初始值有值为空时,此列需显式赋予null

values:ContentValues对象,类似于java中的Map。以键值对的方式保存数据。

⑹ 安卓开发怎么删除数据库中所有表数据

public class DatabaseHelper extends SQLiteOpenHelper {
private static DatabaseHelper mInstance = null;

/** 数据库名称 **/
public static final String DATABASE_NAME = "xys.db";

/** 数据库版本号 **/
private static final int DATABASE_VERSION = 1;

/**数据库SQL语句 添加一个表**/
private static final String NAME_TABLE_CREATE = "create table test("
+ "_id INTEGER PRIMARY KEY AUTOINCREMENT," + "name TEXT,"+"hp INTEGER DEFAULT 100,"+ "mp INTEGER DEFAULT 100,"
+ "number INTEGER);";

DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

/**单例模式**/
static synchronized DatabaseHelper getInstance(Context context) {
if (mInstance == null) {
mInstance = new DatabaseHelper(context);
}
return mInstance;
}

@Override
public void onCreate(SQLiteDatabase db) {
/**向数据中添加表**/
db.execSQL(NAME_TABLE_CREATE);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
/**可以拿到当前数据库的版本信息 与之前数据库的版本信息 用来更新数据库**/
}

/**
* 删除数据库
* @param context
* @return
*/
public boolean deleteDatabase(Context context) {
return context.deleteDatabase(DATABASE_NAME);
}
}

⑺ 安卓开发怎么删除数据库中所有表数据

直接删除数据库,数据库会自动重新创建

public class DatabaseHelper extends SQLiteOpenHelper {
private static DatabaseHelper mInstance = null;

/** 数据库名称 **/
public static final String DATABASE_NAME = "xys.db";

/** 数据库版本号 **/
private static final int DATABASE_VERSION = 1;

/**数据库SQL语句 添加一个表**/
private static final String NAME_TABLE_CREATE = "create table test("
+ "_id INTEGER PRIMARY KEY AUTOINCREMENT," + "name TEXT,"+"hp INTEGER DEFAULT 100,"+ "mp INTEGER DEFAULT 100,"
+ "number INTEGER);";

DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

/**单例模式**/
static synchronized DatabaseHelper getInstance(Context context) {
if (mInstance == null) {
mInstance = new DatabaseHelper(context);
}
return mInstance;
}

@Override
public void onCreate(SQLiteDatabase db) {
/**向数据中添加表**/
db.execSQL(NAME_TABLE_CREATE);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
/**可以拿到当前数据库的版本信息 与之前数据库的版本信息 用来更新数据库**/
}

/**
* 删除数据库
* @param context
* @return
*/
public boolean deleteDatabase(Context context) {
return context.deleteDatabase(DATABASE_NAME);
}
}

⑻ android清除数据 数据库中表会删吗

android清除数据 数据库中表会删的,如果删除了某个数据库,那么它的存储文件,的日志文件都会被删除,由于所有的表等都在存储文件中,所以也就会被删除了。
1、Android(['ændrɔid])是一个以Linux为基础的半开源操作系统,主要用于移动设备,由Google和开放手持设备联盟开发与领导。
2、Android 系统最初由安迪·鲁宾(Andy Rubin)制作,最初主要支持手机。2005年8月17日被Google收购。2007年11月5日,Google与84家硬件制造商、软件开发商及电信营运商组成开放手持设备联盟(Open Handset Alliance)来共同研发改良Android系统并生产搭载Android的智慧型手机,并逐渐拓展到平板电脑及其他领域上。
3、随后,Google以Apache免费开源许可证的授权方式,发布了Android的源代码。

热点内容
java新浪微博 发布:2025-01-21 06:00:07 浏览:887
php防止注入 发布:2025-01-21 06:00:04 浏览:815
华为honor6a如何重置密码 发布:2025-01-21 05:37:30 浏览:987
黑客编程意思 发布:2025-01-21 05:34:34 浏览:18
数据库服务器远程 发布:2025-01-21 05:34:34 浏览:700
ftp断点续传工具 发布:2025-01-21 05:13:42 浏览:990
哈弗h9买哪个配置划算 发布:2025-01-21 05:01:19 浏览:641
微信视频如何重新缓存 发布:2025-01-21 04:44:41 浏览:880
pdf压缩文件大小 发布:2025-01-21 04:40:24 浏览:799
linux解压文件到指定 发布:2025-01-21 04:38:36 浏览:875