Android 数据库不是在sqlite中创建的

Android 数据库不是在sqlite中创建的,android,Android,我的项目中已经有两个数据库,希望为某些任务创建一个新数据库 但数据库并没有被创建,我想我的代码有问题,请帮我解决这个问题。 谢谢 请详细说明你的问题。你说“我想”是为了告诉我们数据库没有建立。你查了什么来百分之百确定 此外,不要使用“id”,而是使用“\u id”。它已经由BaseColumns为您定义。\u ID尝试这样做..对您更有帮助 包com.databases import java.util.ArrayList; import android.content.ContentValu

我的项目中已经有两个数据库,希望为某些任务创建一个新数据库 但数据库并没有被创建,我想我的代码有问题,请帮我解决这个问题。 谢谢


请详细说明你的问题。你说“我想”是为了告诉我们数据库没有建立。你查了什么来百分之百确定


此外,不要使用“id”,而是使用“\u id”。它已经由
BaseColumns为您定义。\u ID

尝试这样做..对您更有帮助

包com.databases

import java.util.ArrayList;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;

public class DataBaseHelper extends SQLiteOpenHelper {

    Context mContext;

    private static final String DATABASE_NAME = "Personal_Assistant_Chronical.db";
    private static final int DATABASE_VERSION = 1;
    private static final String TABLE_DETAIL = "newContact";

    private static final String COLUMN_PERSON_ID= "personID";
    private static final String COLUMN_PERSON_NAME= "person_name";
    private static final String COLUMN_MOBILE_NUMBER = "mobile_no";
    private static final String COLUMN_LANDLINE_NUMBER = "lanline_no";
    private static final String COLUMN_FAX_NUMBER = "fax_no";
    private static final String COLUMN_EMAIL_ID = "email_id";
    private static final String COLUMN_PERSONAL_ADDRESS = "personal_address";
    private static final String COLUMN_WORK_ADDRESS = "work_address";

    private static final String CREATE_DETAIL_TABLE = "create table if not exists "
            + TABLE_DETAIL
            + "("
            + COLUMN_PERSON_ID
            +" INTEGER primary key autoincrement, "
            + COLUMN_PERSON_NAME
            + " VARCHAR(100) NOT NULL UNIQUE, "
            + COLUMN_MOBILE_NUMBER
            + " VARCHAR(100) NOT NULL , "
            + COLUMN_LANDLINE_NUMBER
            + " VARCHAR(100) NOT NULL, "
            + COLUMN_FAX_NUMBER
            + " VARCHAR(100) NOT NULL, "
            + COLUMN_EMAIL_ID
            + " VARCHAR(100) NOT NULL, "
            + COLUMN_PERSONAL_ADDRESS
            + " VARCHAR(100) NOT NULL, "
            + COLUMN_WORK_ADDRESS
            + " VARCHAR(100) NOT NULL); "
            ;
    private static final String TABLE_PERSONAL = "newPersonal";

    private static final String COLUMN_DATE_ID= "dateID";
    private static final String COLUMN_DATE= "fate";
    private static final String COLUMN_DIARY= "diary";

    private static final String CREATE_PERSONAL_TABLE = "create table if not exists "
            + TABLE_PERSONAL
            + "("
            + COLUMN_DATE_ID
            +" INTEGER primary key autoincrement , "
            + COLUMN_DATE
            +" VARCHAR(100) NOT NULL UNIQUE, "
            + COLUMN_DIARY
            + " VARCHAR(100) NOT NULL); "

            ;   


    public DataBaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
        this.mContext=context;
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_DETAIL_TABLE);
        db.execSQL(CREATE_PERSONAL_TABLE);

    }

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

        if (db != null)
            onCreate(db);
    }


        }

用您的代码替换此代码。希望它能工作。

当通过getWritableDatabase打开数据库时,调用Database onCreate方法…尝试这样做。

@deep-u已经在android mainfest.xml文件中为外部存储授予了权限。是的,我已经在menifest中授予了权限。xml@deep-我已经添加了我的代码,我已经成功地创建了数据库,就像这样创建的…好的好奇你做了什么来检查数据库不在那里。你有没有试着写点什么,但却出错了?您是否尝试将id更改为_id?是的,我写的是_id而不是id,我正在签入ddms->data->project package name。有两个旧数据库在那里,但我正在创建的新数据库不在那里。@deep只需通过命令promt删除这两个数据库,然后再次创建新数据库,或者您可以从此链接获取帮助。
import java.util.ArrayList;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;

public class DataBaseHelper extends SQLiteOpenHelper {

    Context mContext;

    private static final String DATABASE_NAME = "Personal_Assistant_Chronical.db";
    private static final int DATABASE_VERSION = 1;
    private static final String TABLE_DETAIL = "newContact";

    private static final String COLUMN_PERSON_ID= "personID";
    private static final String COLUMN_PERSON_NAME= "person_name";
    private static final String COLUMN_MOBILE_NUMBER = "mobile_no";
    private static final String COLUMN_LANDLINE_NUMBER = "lanline_no";
    private static final String COLUMN_FAX_NUMBER = "fax_no";
    private static final String COLUMN_EMAIL_ID = "email_id";
    private static final String COLUMN_PERSONAL_ADDRESS = "personal_address";
    private static final String COLUMN_WORK_ADDRESS = "work_address";

    private static final String CREATE_DETAIL_TABLE = "create table if not exists "
            + TABLE_DETAIL
            + "("
            + COLUMN_PERSON_ID
            +" INTEGER primary key autoincrement, "
            + COLUMN_PERSON_NAME
            + " VARCHAR(100) NOT NULL UNIQUE, "
            + COLUMN_MOBILE_NUMBER
            + " VARCHAR(100) NOT NULL , "
            + COLUMN_LANDLINE_NUMBER
            + " VARCHAR(100) NOT NULL, "
            + COLUMN_FAX_NUMBER
            + " VARCHAR(100) NOT NULL, "
            + COLUMN_EMAIL_ID
            + " VARCHAR(100) NOT NULL, "
            + COLUMN_PERSONAL_ADDRESS
            + " VARCHAR(100) NOT NULL, "
            + COLUMN_WORK_ADDRESS
            + " VARCHAR(100) NOT NULL); "
            ;
    private static final String TABLE_PERSONAL = "newPersonal";

    private static final String COLUMN_DATE_ID= "dateID";
    private static final String COLUMN_DATE= "fate";
    private static final String COLUMN_DIARY= "diary";

    private static final String CREATE_PERSONAL_TABLE = "create table if not exists "
            + TABLE_PERSONAL
            + "("
            + COLUMN_DATE_ID
            +" INTEGER primary key autoincrement , "
            + COLUMN_DATE
            +" VARCHAR(100) NOT NULL UNIQUE, "
            + COLUMN_DIARY
            + " VARCHAR(100) NOT NULL); "

            ;   


    public DataBaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
        this.mContext=context;
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_DETAIL_TABLE);
        db.execSQL(CREATE_PERSONAL_TABLE);

    }

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

        if (db != null)
            onCreate(db);
    }


        }
private static final String DATABASE_CREATE = "CREATE TABLE "
            + LikeAndShare + " (" + coluId
            + " INTEGER PRIMARY KEY AUTOINCREMENT, " + coluTask + " TEXT, "
            + coluLike + " TEXT, " + coluComment + " TEXT, " + coluTSahre
            + " Text, " + coluMySelf + " TEXT )";