0

これはばかげた質問かもしれませんが、エラーを探すのに苦労しています。" " の近くで構文エラーが発生していますがTEXT、場所がわかりません。私はこれを正しく入力したと確信しています。

public void onCreate(SQLiteDatabase db){
    db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" +
                KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                KEY_UNIQUE + " TEXT NOT NULL, " +
                KEY_USERNAME + " TEXT NOT NULL, " +
                KEY_PASSWORD + " TEXT NOT NULL, " +
                KEY_IMAGE  + " TEXT NOT NULL, " +
                KEY_FULLNAME + " TEXT NOT NULL, " +
                KEY_BDAY + " TEXT NOT NULL, " +
                KEY_AGE + " TEXT NOT NULL, " +
                KEY_SEX + " TEXT NOT NULL, " +
                KEY_EMAIL + " TEXT NOT NULL, " +
                KEY_WORK + " TEXT NOT NULL, " +
                KEY_PROF + " TEXT NOT NULL, " +
                KEY_FBUSERNAME + " TEXT NOT NULL, " +
                KEY_FBPASSWORD + " TEXT NOT NULL, " +
                KEY_YMUSERNAME + " TEXT NOT NULL, " +
                KEY_YMPASSWORD + " TEXT NOT NULL, " +
                KEY_GMUSERNAME + " TEXT NOT NULL, " +
                KEY_GMPASSWORD + " TEXT NOT NULL, " +
                KEY_SKUSERNAME + " TEXT NOT NULL, " +
                KEY_SKPASSWORD + " TEXT NOT NULL);"
                );  
    }
4

2 に答える 2

2

私はあなたのコードを試しました、そしてそれはうまくいきます、あなたは以下のコードを試すことができます(私がテスト名を使用したのでデータベース、テーブルと列の名前を変更してください)

public class dbHandler extends SQLiteOpenHelper{

 // Database Version
private static final int DATABASE_VERSION = 1;

// Database Name
private static final String DATABASE_NAME = "temp_database";



private static final String DATABASE_TABLE ="a";
private static final String KEY_ROWID ="b";
private static final String KEY_UNIQUE = "c";
private static final String KEY_USERNAME = "d";
private static final String KEY_PASSWORD = "e";
private static final String KEY_IMAGE = "f";
private static final String KEY_FULLNAME = "g";
private static final String KEY_BDAY = "h";
private static final String KEY_AGE = "i";
private static final String KEY_SEX = "j";
private static final String KEY_EMAIL = "k";
private static final String KEY_WORK = "l";
private static final String KEY_PROF = "m";
private static final String KEY_FBUSERNAME = "n";
private static final String KEY_FBPASSWORD = "o";
private static final String KEY_YMPASSWORD = "p";
private static final String KEY_YMUSERNAME = "q";
private static final String KEY_GMUSERNAME = "r";
private static final String KEY_GMPASSWORD = "s";
private static final String KEY_SKUSERNAME = "t";
private static final String KEY_SKPASSWORD = "u";

public dbHandler(Context context) {
     super(context, DATABASE_NAME, null, DATABASE_VERSION);
    Log.w("jndfjfs","this constructor is called");
}

@Override
public void onCreate(SQLiteDatabase db) {


     db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" +
                KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                KEY_UNIQUE + " TEXT NOT NULL, " +
                KEY_USERNAME + " TEXT NOT NULL, " +
                KEY_PASSWORD + " TEXT NOT NULL, " +
                KEY_IMAGE  + " TEXT NOT NULL, " +
                KEY_FULLNAME + " TEXT NOT NULL, " +
                KEY_BDAY + " TEXT NOT NULL, " +
                KEY_AGE + " TEXT NOT NULL, " +
                KEY_SEX + " TEXT NOT NULL, " +
                KEY_EMAIL + " TEXT NOT NULL, " +
                KEY_WORK + " TEXT NOT NULL, " +
                KEY_PROF + " TEXT NOT NULL, " +
                KEY_FBUSERNAME + " TEXT NOT NULL, " +
                KEY_FBPASSWORD + " TEXT NOT NULL, " +
                KEY_YMUSERNAME + " TEXT NOT NULL, " +
                KEY_YMPASSWORD + " TEXT NOT NULL, " +
                KEY_GMUSERNAME + " TEXT NOT NULL, " +
                KEY_GMPASSWORD + " TEXT NOT NULL, " +
                KEY_SKUSERNAME + " TEXT NOT NULL, " +
                KEY_SKPASSWORD + " TEXT NOT NULL);"
                );  
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub

}

}

他のアクティビティからデータベースにアクセスできます。

dbHandler mydb=new dbHandler(this);
    mydb.getWritableDatabase();
于 2013-01-01T11:23:00.450 に答える
0

Logcat を投稿していないため、問題を把握できません。

ただし、便利な提案: データベースの CRUD 操作に精通している場合は、クエリを作成し、rawQuery()メソッドを使用して実行します。

db.rawQuery("CREATE TABLE IF NOT EXISTS myTable (username TEXT, password TEXT)", null);
于 2013-01-01T10:48:05.187 に答える