-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 回答