SQLiteDatabase错误"sqlite:(1)在“)"附近:语法错误" [英] SQLiteDatabase error "sqlite: (1) near ")": syntax error"

查看:86
本文介绍了SQLiteDatabase错误"sqlite:(1)在“)"附近:语法错误"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

sqlite:(1)在)"附近:语法错误

sqlite: (1) near ")": syntax error

我不明白,我以为(并且仍然这样做)我已经放置了所有需要的空间(等等)

I don't understand, I thought (and still do) that I put every space (and ect.) needed

也许有人可以帮助我吗?

maybe someone could help me?

感谢您的时间

public class DatabaseHandler extends SQLiteOpenHelper {

    private static final int DATABASE_VERSION = 3;
    private static final String DATABASE_NAME = "rekordai";
    private static final String TABLE_REKORDAI = "rekordai";

    private static final String KEY_ID = "id";
    private static final String KEY_REKORDAI = "rekordai";

    public DatabaseHandler(Context context){
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String CREATE_REKORDAI_TABLE = "CREATE TABLE " + TABLE_REKORDAI + " ( " 
                + KEY_ID + " INTEGER PRIMARY KEY, " + KEY_REKORDAI + " TEXT," + " ) ";
        db.execSQL( CREATE_REKORDAI_TABLE );
    }


我以为我在上面的一个错误(onCreate方法)...


I thought I made a mistake above (onCreate method)...

其余...

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldV, int newV) {
        db.execSQL( "DROP TABLE IF EXISTS " + TABLE_REKORDAI );

        onCreate(db);

    }
    void addRekordas(Rekordas r){
        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues v = new ContentValues();
        v.put(KEY_REKORDAI, r.getRekordas());

        db.insert(TABLE_REKORDAI, null, v);
        db.close();
    }
    Rekordas getRekordas(int id){
        SQLiteDatabase db = this.getReadableDatabase();

        Cursor c = db.query(TABLE_REKORDAI, new String[]{ KEY_ID, KEY_REKORDAI},
                KEY_ID + " = ?", new String[]{ String.valueOf(id)}, null, null, null, null);
        if(c != null){
            c.moveToFirst();
        }   
        Rekordas r = new Rekordas(Integer.parseInt(c.getString(0), Integer.parseInt(c.getString(1))));

        return r;       
    }

    public ArrayList<Rekordas> getAllRekordas(){                         // Patikrinti veliau
        String selectQuery = "SELECT  * FROM " + TABLE_REKORDAI;
        ArrayList<Rekordas> rekordaiList = new ArrayList<Rekordas>();

        SQLiteDatabase db = this.getWritableDatabase(); 
        Cursor cursor = db.rawQuery(selectQuery, null); 

        if (cursor.moveToFirst()){
            do{
                Rekordas r = new Rekordas();
                r.setId(Integer.parseInt(cursor.getString(0)));
                r.setRekordas(Integer.parseInt(cursor.getString(1)));
                rekordaiList.add(r);
            } while(cursor.moveToNext());


        }
        return rekordaiList;
    }

    public int upgradeRakordas(Rekordas r){
        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues v = new ContentValues();
        v.put(KEY_REKORDAI, r.getRekordas());

        return db.update(TABLE_REKORDAI, v, KEY_ID + " = ?", new String[]{String.valueOf(r.getId())});
    }
    public void deleteRekordas(Rekordas r){
        SQLiteDatabase db = this.getWritableDatabase();
        db.delete(TABLE_REKORDAI, KEY_ID + " = ?", new String[]{String.valueOf(r.getId())});
        db.close();
    }
    public int getRekordaiCount(){
        SQLiteDatabase db = this.getReadableDatabase();
        String countQuery = "SELECT  * FROM " + TABLE_REKORDAI;
        Cursor c = db.rawQuery(countQuery, null);
        c.close();

        return c.getCount();
    }
}

再次感谢! 我真的很抱歉这么多代码

thanks again! and I'm really sorry for soo much code

推荐答案

您的问题在这里CREATE TABLE SQL COMMAND

  + KEY_ID + " INTEGER PRIMARY KEY, " + KEY_REKORDAI + " TEXT," + " ) ";// remove semi column after TEXT 

用下面的内容纠正CREATE TABLE SQL COMMAND

 String CREATE_REKORDAI_TABLE = "CREATE TABLE " + TABLE_REKORDAI + " ( " 
            + KEY_ID + " INTEGER PRIMARY KEY, " + KEY_REKORDAI + " TEXT" + " ) ";

这篇关于SQLiteDatabase错误"sqlite:(1)在“)"附近:语法错误"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆