【发布时间】:2011-09-29 07:01:49
【问题描述】:
// 处理程序
private static final String SCRIPT_CREATE_DATABASE = "create table " + MYDATABASE_TABLE + " (" + KEY_ID + " integer primary key autoincrement, " + KEY_CONTENT1 + " text not null);";
private static final String SCRIPT_CREATE_DATABASE2 = "create table " + MYDATABASE_TABLE2 + " (" + KEY_ID2 + " integer foreign key autoincrement, " + KEY_CONTENT2 + " text not null, " + KEY_CONTENT3 + " text not null);";
任何想法我可能做错了什么?
// 错误日志
> 09-29 11:54:40.052: INFO/Database(484): sqlite returned: error代码 =
1,味精=接近“外国”:语法错误09-29 11:54:40.052: 错误/数据库(484):失败1(靠近“外国”:语法错误) 0x217ba8 准备时'create table MY_TABLE2 (_id2 integer 外国的 键自动增量,Content2 文本不为空,Content3 文本不 空值);'。 09-29 11:54:40.062: 调试/AndroidRuntime(484): 关闭虚拟机 09-29 11:54:40.062: WARN/dalvikvm(484): threadid=1: 线程退出 和 未捕获的异常(组=0x4001d800)09-29 11:54:40.082: 错误/AndroidRuntime(484):致命异常:主要 09-29 11:54:40.082: 错误/AndroidRuntime(484): java.lang.RuntimeException: 无法 开始 活动组件信息{sep.com/sep.com.SepActivity}: android.database.sqlite.SQLiteException:靠近“外国”:语法 错误: 创建表 MY_TABLE2(_id2 整数外键自增, Content2 文本不为空,Content3 文本不为空); 09-29 11:54:40.082: 错误/AndroidRuntime(484):在
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 09-29 11:54:40.082: 错误/AndroidRuntime(484): 在
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 09-29 11:54:40.082: 错误/AndroidRuntime(484): 在 android.app.ActivityThread.access$2300(ActivityThread.java:125) 09-29 11:54:40.082:错误/AndroidRuntime(484):在
android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 09-29 11:54:40.082: 错误/AndroidRuntime(484): 在 android.os.Handler.dispatchMessage(Handler.java:99) 09-29 11:54:40.082:错误/AndroidRuntime(484):在 android.os.Looper.loop(Looper.java:123) 09-29 11:54:40.082: 错误/AndroidRuntime(484):在 android.app.ActivityThread.main(ActivityThread.java:4627) 09-29 11:54:40.082:错误/AndroidRuntime(484):在 java.lang.reflect.Method.invokeNative(Native Method) 09-29 11:54:40.082:错误/AndroidRuntime(484):在 java.lang.reflect.Method.invoke(Method.java:521) 09-29 11:54:40.082: 错误/AndroidRuntime(484):在
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 09-29 11:54:40.082: 错误/AndroidRuntime(484): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 09-29 11:54:40.082:错误/AndroidRuntime(484):在 dalvik.system.NativeStart.main(Native Method) 09-29 11:54:40.082: 错误/AndroidRuntime(484):由以下原因引起: android.database.sqlite.SQLiteException:靠近“外国”:语法 错误: 创建表 MY_TABLE2(_id2 整数外键自增, Content2 文本不为空,Content3 文本不为空); 09-29 11:54:40.082: 错误/AndroidRuntime(484):在 android.database.sqlite.SQLiteDatabase.native_execSQL(Native 方法) 09-29 11:54:40.082: 错误/AndroidRuntime(484): 在
android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1727) 09-29 11:54:40.082: 错误/AndroidRuntime(484): 在 sep.com.handle$SQLiteHelper.onCreate(handle.java:104) 09-29 11:54:40.082:错误/AndroidRuntime(484):在
android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:106) 09-29 11:54:40.082: 错误/AndroidRuntime(484): 在 sep.com.handle.openToWrite(handle.java:44) 09-29 11:54:40.082: 错误/AndroidRuntime(484):在 sep.com.SepActivity.onCreate(SepActivity.java:38) 09-29 11:54:40.082: 错误/AndroidRuntime(484):在
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 09-29 11:54:40.082: 错误/AndroidRuntime(484): 在
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 09-29 11:54:40.082: 错误/AndroidRuntime(484): ... 11 更多
【问题讨论】: