chhgk1995 2015-12-18 06:33 采纳率: 100%
浏览 1686

Android SQLite语法错误

它老说我SQL语法有问题,可是我对照网上写的折腾半天也没发现错在哪里啊。

新手求赐教,谢谢!
附上代码

 @Override 
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL("CREAT TABLE IF NOT EXISTS notepadtable(id int,"
                + "title varchar(20),"
                + "content varchar)");
        System.out.println("creat database");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        db.execSQL("DROP TABLE IF EXISTS"+"notepadtable");
        onCreate(db);
    }

错误报告看不了就看这个:
12-18 01:14:04.340: E/SQLiteLog(4222): (1) near "EXISTSnotepadtable": syntax error

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-05 00:17
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    你使用的SQL语句如下:

    CREAT TABLE IF NOT EXISTS notepadtable(id int,
                            title varchar(20),
                            content varchar)
    

    如果你在运行上述的SQL语句时出现了"Syntax Error",那么你的问题可能出在这里。在SQL中,CREATE TABLE语句应该放在一个单独的行上,而不是在一行的末尾。 正确的方法是将CREAT TABLE语句放在一行上,并且确保其格式正确。 正确的SQL语句应该是:

    CREATE TABLE notepadtable (
        id INT,
        title VARCHAR(20),
        content VARCHAR
    );
    

    另外,你应该使用括号来包围每个字段名和数据类型。例如,id INT, title VARCHAR(20)content VARCHAR 应该被改为 id INT, title VARCHAR(20), content VARCHAR

    评论

报告相同问题?