-1

DBAdapter を使用してデータベースに挿入していますが、実行時にエラーが発生します。私を助けてくださいここに私のコードがあります:

パブリック クラス DBAdapter {

    public static final String COLUMN_ID = "ID";
    public static final String COLUMN_NAME = "NAME";
    public static final String COLUMN_SURNAME = "SURNAME";
    public static final String COLUMN_DATE_OF_BIRTH = "DateOfBirth";
    public static final String COLUMN_ADDRESS = "HomeAddress";
    public static final String COLUMN_EMAIL = "EmailNO";
    public static final String COLUMN_PHONE_NUMBER = "PhoneNumber";
    public static final String COLUMN_CITY = "City";
    public static final String COLUMN_PTYE_PAYMENT = "TypePayment";
    public static final String COLUMN_SHIPPING_TYPE = "ShippingType";
    public static final String COLUMN_CARD_NUMBER = "CardNumber";
    public static final String COLUMN_Password = "Passwords";       
    public static final String TAG = "DBAdapter";

 static final String DATABASE_NAME = "SuperComputers.db";
    static final String USERS_TABLE = "DetailsCustomer";
    static final int DATABASE_VERSION = 3;


private final Context context;

private DatabaseHelper DBHelper;
private SQLiteDatabase db;

public DBAdapter (Context ctx) 
{
    this.context=ctx;
    DBHelper = new DatabaseHelper(context);
}

private static class DatabaseHelper extends SQLiteOpenHelper

{
    DatabaseHelper(Context context) {




super (context,DATABASE_NAME,null,DATABASE_VERSION);

    }

@Override
 public void onCreate(SQLiteDatabase db)
{
    try {
          //db.execSQL(DATABASE_CREATE);        
         db.execSQL("CREATE TABLE "+ USERS_TABLE  + 



 "("+ COLUMN_ID  + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                    COLUMN_NAME  + " TEXT, " + COLUMN_SURNAME  +" TEXT, " +COLUMN_DATE_OF_BIRTH+
                       " TEXT NOT NULL, " + COLUMN_ADDRESS  + " TEXT, "  + COLUMN_EMAIL  + " TEXT, " + 

                   COLUMN_PHONE_NUMBER + " TEXT, " + COLUMN_CITY + " TEXT, " +  COLUMN_PTYE_PAYMENT  + " TEXT, "  +  COLUMN_CARD_NUMBER  + " TEXT, " + COLUMN_Password +" TEXT)");

} 

catch (SQLException e) { e.printStackTrace();

   }
}
@Override
 public void onUpgrade(SQLiteDatabase db, int oldVersion , int newVesion) {

    Log.w(TAG, "Upgrading database from version " + oldVersion + "to"
            + newVesion + ", which will destroy all old data");
    db.execSQL("DROP TABLE IF EXISTS USERS_TABLE ");
    onCreate(db);

   } 
 }

データベースに情報を挿入する必要がありますが、エラーのために挿入できません

4

1 に答える 1

1

定数USERS_TABLEは二重引用符の外側にある必要があります。そうでない場合は、文字列引数の一部として認識されます。したがって、次のようになります。

db.execSQL("DROP TABLE IF EXISTS " + USERS_TABLE);
于 2012-05-24T08:06:43.567 に答える