簡體   English   中英

android.database.sqlite.SQLiteException:“;”附近:語法錯誤(代碼1)

[英]android.database.sqlite.SQLiteException: near “;”: syntax error (code 1)

它說createTable字符串有問題,

我的數據庫類。

class DataBase extends SQLiteOpenHelper{
            private final static String createTable="CREATE TABLE "+Keys.Database.TableName+
                    "("+Keys.Database._Id+" INTEGER PRIMARY KEY AUTOINCREMENT, "
                    +Keys.Database.Date+" TEXT(50), "
                    +Keys.Database.Type+" TEXT(50), "
                    +Keys.Database.City+" TEXT(100);";
            private final static String dropTable = "DROP TABLE IF EXISTS"+Keys.Database.TableName+";";

            private DataBase(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
                super(context, name, factory, version);
            }

            private DataBase(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler) {
                super(context, name, factory, version, errorHandler);
            }


            @Override
            public void onCreate(SQLiteDatabase db) {

                    db.execSQL(createTable);

            }

            @Override
            public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
                db.execSQL(dropTable);
                onCreate(db);
            }
        }

這是我試圖創建表的一些代碼

public void writeHistory(String date, String type, String city){
        database = new DataBase(context,Keys.Database.DataBaseName,null,Keys.Database.Version);
        SQLiteDatabase sqLiteDatabase = database.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        contentValues.put(Keys.Database.Date,date);
        contentValues.put(Keys.Database.Type,type);
        contentValues.put(Keys.Database.City, city);
        long i=sqLiteDatabase.insert(Keys.Database.TableName,null,contentValues);
        if (i<0){
            Toast.makeText(MyApplication.getMyAppContext(),"History insertion FAILED",Toast.LENGTH_LONG).show();
        }
        else {
            Toast.makeText(MyApplication.getMyAppContext(),"History insertion SUCCESSFUL",Toast.LENGTH_LONG).show();
        }
    }

創建表格時出現此錯誤,請幫忙...謝謝。

哎呀找到了...:p

private final static String createTable="CREATE TABLE "+Keys.Database.TableName+
                    "("+Keys.Database._Id+" INTEGER PRIMARY KEY AUTOINCREMENT, "
                    +Keys.Database.Date+" TEXT(50), "
                    +Keys.Database.Type+" TEXT(50), "
                    +Keys.Database.City+" TEXT(100));";

那只是一個愚蠢的支架。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM