android sqlite关于数据表的问题

============问题描述============

我在程序里新建了两个数据库,“book.db”和"book4.db",然后分别在其中新增了一张数据表“localbook”和"localbook4",结果在程序运行时,两张表都可以新建,但是当我向一张表中插入数据以后,另一张表就无法插入(空表,不报错),求解!

以下是我两个SQLiteOpenHelper类的代码:

第一个LocalBook类:

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

public class LocalBook extends SQLiteOpenHelper {

private static String DATABASE_NAME = "book.db";

private static int DATABASE_VERSION = 1;

private String PATH = "path";

private String TYPE = "type";

public LocalBook(Context context) {

super(context, DATABASE_NAME, null, DATABASE_VERSION);

}

@Override

public void onCreate(SQLiteDatabase db) {

String sql = "CREATE TABLE " + "localbook" + " ( parent text not null, " + PATH

+ " text not null, " + TYPE + " text not null"

+ ", now  text not null, ready)";

db.execSQL(sql);

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

// TODO Auto-generated method stub

db.execSQL("drop table localbook");

onCreate(db);

}

}

第二个LocalBook4类:

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

public class LocalBook4 extends SQLiteOpenHelper {

private static String DATABASE_NAME = "book4.db";

private static int DATABASE_VERSION = 1;

private String PATH = "path";

private String TYPE = "type";

public LocalBook4(Context context) {

super(context, DATABASE_NAME, null, DATABASE_VERSION);

}

@Override

public void onCreate(SQLiteDatabase db) {

String sql = "CREATE TABLE " + "localbook4" + " ( parent text not null, " + PATH

+ " text not null, " + TYPE + " text not null"

+ ", now  text not null, ready)";

db.execSQL(sql);

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

// TODO Auto-generated method stub

db.execSQL("drop table localbook4");

onCreate(db);

}

}

============解决方案1============

你插入的代码发来看看呢?

时间: 2024-10-12 23:00:30

android sqlite关于数据表的问题的相关文章

Android Sqlite 读取数据99999.99变为100000.00,出现科学计数法

问题描述: 将99999.99存入Sqlite数据库,类型为DECIMAL(6,3).通过cursor.getString()变为100000.00 且存储亿位数据时:cursor.getString()会出现异常,或直接转换为科学计数法 解决方案: 1.针对Sqlite数据类型进行读取(即使Sqlite无类型),DECIMAL类型用cursor.getDouble(). 2.不要对Sqlite设置类型,全用text.关于怎么更改Sqlite表结构,列属性可以看我下一篇文章 错误原因: 我猜可能

android 一个SQLite数据库多个数据表的基本使用框架 (带demo)

android 一个SQLite数据库多个数据表(带demo) 前言        demo演示        一.搭建        二.建立实体类        三.建立数据库操作类        四.配置Application        五.使用    GitHub 前言 我的上一篇博客讲的是简单的 android SQLite 数据库的基本操作如增删改查,有兴趣的朋友可以点一下这里android 简单SQLite数据库 增删改查 但是呢,一般的项目里,一个数据库也不会只有一个数据表,

Android笔记(四十三) Android中的数据存储——SQLite(五)delete

SQLite通过delete()方法删除数据 delete()方法参数说明: delete()方法参数 对应sql部分 描述 table delte from table_name 要删除的表 whereClause where column 删除条件 whereArgs where column=? 删除条件的参数 看代码: MainActivity.java package cn.lixyz.sqlite; import android.app.Activity; import androi

Android开发之利用SQLite进行数据存储

Android开发之利用SQLite进行数据存储 Android开发之利用SQLite进行数据存储 SQLite数据库简单介绍 Android中怎样使用SQLite 1 创建SQLiteOpenHelper对象并创建表 2 通过SQLiteDatabase对象运行增删改查操作 3 SQLiteDatabase之事务transaction 1.SQLite数据库简单介绍 SQLite.是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包括在一个相对小的C库中.它是D.RichardHip

android SQLite 批量插入数据慢的解决方案 (针对于不同的android api 版本)

原地址 :http://www.cnblogs.com/wangmars/p/3914090.html SQLite,是一款轻型的数据库,被广泛的运用到很多嵌入式的产品中,因为占用的资源非常少,二其中的操作方式几乎和我们接触的数据库不多,甚至只有几百K的他自然会被需求者青睐,下面讲一下在这样的轻型数据库中怎么对他进行一些读写操作. 之前做选择联系人的时候出现如果一个手机里联系人超过2000的话,往数据库里面插入会非常耗时,不同的手机存储的条数不同,这个存储的数量和手机的内存有很大的关系,往往取决

android SQLite 批量插入数据慢的解决方案 (正对于不同的android api 版本)

SQLite,是一款轻型的数据库,被广泛的运用到很多嵌入式的产品中,因为占用的资源非常少,二其中的操作方式几乎和我们接触的数据库不多,甚至只有几百K的他自然会被需求者青睐,下面讲一下在这样的轻型数据库中怎么对他进行一些读写操作. 之前做选择联系人的时候出现如果一个手机里联系人超过2000的话,往数据库里面插入会非常耗时,不同的手机存储的条数不同,这个存储的数量和手机的内存有很大的关系,往往取决于手机内存,下面对于数据量大的情况来写一下sqlite的批量查询. SqLite 掺入数据有几种 第一种

Android 一键直接查看Sqlite数据库数据

本文主要介绍Android开发中如何一键直接查看sqlite数据库中的数据以及sqlite3的常用命令.1.原始查看sqlite数据方法Eclipse 菜单Window - Open Perspective - DDMS进入DDMS视图.然后File Explorer View中依次展开路径/data/data/package_name/databases/,将其中的db文件pull from device保存到电脑上,再使用navicat.SQLiteSpy或其他软件打开查看,整个过程相当复杂

C#中如何解决sqlite数据表/记录删除后数据库内存不变的问题

在C#中使用sqlite数据库时发现,删除了数据表或大量数据后,数据库的并不会变小. 这是因为数据库中删除大量数据后,会留下原来的数据空间(空闲数据页),数据库默认不会自动释放这些空间.可以通过"VACUUM"命令释放空间. 网上查到两种方法(手动/自动): 1.手动释放空间 先写一个执行sql语句的函数: 1 private void ExecuteSql(string sDbPath, string sqlStr) 2 { 3 using (SQLiteConnection con

Android批量插入数据到SQLite数据库

Android中在sqlite插入数据的时候默认一条语句就是一个事务,因此如果存在上万条数据插入的话,那就需要执行上万次插入操作,操作速度可想而知.因此在Android中插入数据时,使用批量插入的方式可以大大提高插入速度. 有时需要把一些数据内置到应用中,常用的有以下2种方式:其一直接拷贝制作好的SQLite数据库文件,其二是使用系统提供的数据库,然后把数据批量插入.我更倾向于使用第二种方式:使用系统创建的数据库,然后批量插入数据.批量插入数据也有很多方法,那么那种方法更快呢,下面通过一个dem