事务-android sqlite onUpgrade 中执行了 CREATE TABLE 失败

问题描述

android sqlite onUpgrade 中执行了 CREATE TABLE 失败

android sqlite onUpgrade 中执行了 CREATE TABLE if not exists test
(
User_Id BIGINT,
test INTEGER DEFAULT 1,
yuliu0 VARCHAR(200),
yuliu1 BIGINT
);
语句,在事务中执行的,但是事务都已经成功提交了,但是我去看数据库的时候,发现要创建的表,并没有被创建,怎么回事呢?

解决方案

是否更新了version版本号,看onUpgrade是否执行
把数据库拷出来看,放在源目录下看有时候客户端工具不一定可靠,碰到过表存在,但用客户端工具查看不存在。但拷贝出来看发现数据表是存在的。也可以换个客户端工具。

解决方案二:

private static class DbHelper extends SQLiteOpenHelper{

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

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" +
                KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                KEY_NAME + " TEXT NOT NULL, " +
                KEY_HOTNESS + " TEXT NOT NULL);"
        );
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);
        onCreate(db);
    }
}

先看代码是否执行成功了,如果成功了,那么就查看一下数据库日志,是否对应的表创建的时候有问题或其他原因分析

时间: 2024-10-16 05:25:05

事务-android sqlite onUpgrade 中执行了 CREATE TABLE 失败的相关文章

数据库-android sqlite 查询表中一组不相关数据

问题描述 android sqlite 查询表中一组不相关数据 比如我现在有一个book表,里面有一组001~100id的数据,我现在想实现随便输入一组id{003,005,006,009,056...},从表中查询出这组数据,请问这个的sqlite语句怎么写,新手入门,求大神帮忙!!! 解决方案 select * from book where id='003 or id='005'或者select * from book where id in('003''005')

C#中执行Sqlite数据库事务的方式

在 C#中执行Sqlite数据库事务有两种方式:Sql代码和C#代码 1.Sql代码: BEGIN- COMMIT /ROLLBACK 2.C#代码: using (SQLiteConnection conn = SqliteHelper.GetSQLiteConnection()) { DbTransaction trans = conn.BeginTransaction(); try { //Sql语句 trans.Commit();//提交事务 } catch (Exception e)

app-关于android APP开发中SQLITE数据库的问题

问题描述 关于android APP开发中SQLITE数据库的问题 代码如下,首先请问我写的这段创建数据库的代码有没有错误?然后把这个类的文件放在哪里才对啊,目前程序一打开就是程序已经停止运行,APP的第一个ACTIVITY我设置的就是判断这个库中的某个表中有没有数据.我现在感觉就是程序打开,这个库还没有创建,是不存在的,所以运行不了.请大神指教下我.或者说怎么让APP一开始运行的第一步就是运行以下的代码来创建这个数据库.求指教. //数据库创建类 package com.captain.dao

sqlite3-请教Android SQLite大神,我重复调用CREATE TABLE会将旧表覆盖吗?

问题描述 请教Android SQLite大神,我重复调用CREATE TABLE会将旧表覆盖吗? 我实现了一个DBHelper对象,在OnCreate()初始化的时候会这样处理. @Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table download_info(_id integer PRIMARY KEY AUTOINCREMENT, thread_id integer)"); }

android SQLite向表中插入数据的问题

问题描述 android SQLite向表中插入数据的问题 package com.example.xiangwei; import android.content.ContentValues; import android.database.sqlite.SQLiteDatabase; import android.test.AndroidTestCase; public class TestCase extends AndroidTestCase { private MyOpenHelper

android编程实现添加文本内容到sqlite表中的方法_Android

本文实例讲述了android编程实现添加文本内容到sqlite表中的方法.分享给大家供大家参考,具体如下: 第一步: 创建表 CREATE TABLE DLION ( _id INTEGER PRIMARY KEY AUTOINCREMENT, content TEXT, questionId INTEGER, answerId INTEGER, [right] INTEGER ); 第二步: 把编辑文本内容并放到 res/raw/test.txt 用 Notepad++ 打开,把每一个将要放在

android编程实现添加文本内容到sqlite表中的方法

本文实例讲述了android编程实现添加文本内容到sqlite表中的方法.分享给大家供大家参考,具体如下: 第一步: 创建表 CREATE TABLE DLION ( _id INTEGER PRIMARY KEY AUTOINCREMENT, content TEXT, questionId INTEGER, answerId INTEGER, [right] INTEGER ); 第二步: 把编辑文本内容并放到 res/raw/test.txt 用 Notepad++ 打开,把每一个将要放在

jdbc-JDBC 并发事务中执行多条相同的Update语句,为什么会造成死锁?

问题描述 JDBC 并发事务中执行多条相同的Update语句,为什么会造成死锁? 如题,我在多个线程中并发向A库的XXXX表提交事务,每个事务中执行两条Update语句: update xxxx set column1 = '11' where ID = '11' update xxxx set column2 = '22' where ID = '22' 结果在运行过程中抛出死锁异常: 事务(进程ID 211)与另一个进程被死锁在锁|线程资源上,并且已被选作死锁牺牲品.请重新运行该事务. 解决

Android中执行java命令的方法及java代码执行并解析shell命令_Android

android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析. android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了呢. 答案是否定的.我们可以通过app_process来执行java程序. 写一个hello world吧,就是刚开始学java的时候 写得那个hello world,这次要在android上运行. 用记事本新建