小编MrM*_*ins的帖子

创建表时出现Android SQLite错误(VARCHAR导致错误)

import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

SQLiteDatabase db;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    db = this.openOrCreateDatabase("Practice", MODE_PRIVATE, null);

    db.execSQL("CREATE TABLE IF NOT EXISTS blah (subjects VARCHAR, notes VARCHAR, amount VARCHAR");
}
Run Code Online (Sandbox Code Playgroud)

错误日志:

E/SQLiteLog:(1)在"VARCHAR"附近:语法错误06-30 23:46:21.834 11420-11420/com.asd.sqltesting D/AndroidRuntime:关闭VM 06-30 23:46:21.835 11420-11420/com.asd.sqltesting E/AndroidRuntime:FATAL EXCEPTION:main进程:com.asd.sqltesting,PID:11420 java.lang.RuntimeException:无法启动活动ComponentInfo {com.asd.sqltesting/com.asd.sqltesting.MainActivity} :android.database.sqlite.SQLiteException:near"VARCHAR":语法错误(代码1):,同时编译:CREATE TABLE IF NOT EXISTS blah(subject VARCHAR,notes VARCHAR,amount VARCHAR at android.app.ActivityThread.performLaunchActivity(ActivityThread) .java:2298)在Android.app.ActivityThread.access $ 800(ActivityThread.java:144)的android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)android.app.ActivityThread $ H.handleMessage(ActivityThread.java) :1278)android.app.Handler.dispatchMessage(Handler.java:102)android.app.Looper.loop(Looper.java:135)android.app.ActivityThread.main(ActivityThre)ad.java:5221)at java.lang.reflect.Method.invoke(Native Method)at java.lang.reflect.Method.invoke(Method.java:372)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.运行(ZygoteInit.java:899)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)引起:android.database.sqlite.SQLiteException:near"VARCHAR":语法错误(代码1): ,同时编译:CREATE TABLE IF NOT EXISTS …

java sqlite varchar android

-2
推荐指数
1
解决办法
1109
查看次数

标签 统计

android ×1

java ×1

sqlite ×1

varchar ×1