【发布时间】:2012-04-14 17:21:01
【问题描述】:
我正在编写一个简单的数据库应用程序,但当我加载应用程序时,它显示:“应用程序已意外停止”
这是我的数据库代码:
public class EventsData extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "events.db";
private static final int DATABASE_VERSION = 1;
public EventsData(Context ctx) {
super(ctx, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db){
db.execSQL("CREATE TABLE " + TABLE_NAME + "(" + _ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ TIME + " INTEGER, " + TITLE + " TEXT NOT NULL);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
我的常量:
import android.provider.BaseColumns;;
public interface Constants extends BaseColumns {
public static final String TABLE_NAME = "events";
//columns in the events db
public static final String TIME = "time";
public static final String TITLE = "title";
}
错误是:
04-14 17:08:12.486: E/Database(277): 在准备'CREATE TABLE events(_idINTEGER PRIMARY KEY AUTOINCREMENT, timeINTEGER, title TEXT非空);'。
为什么会出错?
【问题讨论】:
-
我的错误是:04-14 17:08:12.486: E/Database(277): 准备“CREATE TABLE events( _idINTEGER PRIMARY KEY AUTOINCREMENT, timeINTEGER, title TEXT NOT NULL);'.
-
你在哪里定义你的字段 TABLE_NAME、_ID、...。你能在你的 logcat 中提供错误吗?
-
@user1248720 检查您粘贴的错误与您得到的错误完全相同