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 )";