Java SQLite数据库:插入名称、地址、电话号码时出错

Java SQLite数据库:插入名称、地址、电话号码时出错,java,android,database,sqlite,Java,Android,Database,Sqlite,我正在为我的android应用程序开发一个简单的SQLite数据库。我跟着。使用本教程,我试图向数据库中添加三个字符串值,即“name”、“address”和“phonenumber” 这是DatabaseHandler.java的代码 // Database Version private static final int DATABASE_VERSION = 1; // Database Name private static final String DATABASE_NAME = "f

我正在为我的android应用程序开发一个简单的SQLite数据库。我跟着。使用本教程,我试图向数据库中添加三个字符串值,即“name”、“address”和“phonenumber”

这是DatabaseHandler.java的代码

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

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

// Contacts table name
private static final String TABLE_CONTACTS = "favourites";

// Contacts Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_NAME = "name";
private static final String KEY_PH_NO = "phone_number";
private static final String KEY_ADRESS = "adress";


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

// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
    String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
            + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
            + KEY_PH_NO + " TEXT" + KEY_ADRESS + " TEXT" + ")";
    db.execSQL(CREATE_CONTACTS_TABLE);
}

// Upgrading database
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // Drop older table if existed
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);

    // Create tables again
    onCreate(db);
}

// Adding new contact
public void addContact(Contact contact) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_NAME, contact.getName()); // Contact Name
    values.put(KEY_PH_NO, contact.getPhoneNumber()); // Contact Phone Number
    values.put(KEY_ADRESS, contact.getAdress()); //address

    // Inserting Row
    db.insert(TABLE_CONTACTS, null, values); << Error here
    db.close(); // Closing database connection
}


// Getting single contact
Contact getContact(int id) {
    SQLiteDatabase db = this.getReadableDatabase();

    Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
                    KEY_NAME, KEY_PH_NO }, KEY_ID + "=?",
            new String[] { String.valueOf(id) }, null, null, null, null);
    if (cursor != null)
        cursor.moveToFirst();

    Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),
            cursor.getString(1), cursor.getString(2), cursor.getString(3));
    // return contact
    return contact;
}

// Getting All Contacts
public List<Contact> getAllContacts() {
    List<Contact> contactList = new ArrayList<Contact>();
    // Select All Query
    String selectQuery = "SELECT  * FROM " + TABLE_CONTACTS;

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

    // looping through all rows and adding to list
    if (cursor.moveToFirst()) {
        do {
            Contact contact = new Contact();
            contact.setID(Integer.parseInt(cursor.getString(0)));
            contact.setName(cursor.getString(1));
            contact.setPhoneNumber(cursor.getString(2));
            contact.setAdress(cursor.getString(3));

            // Adding contact to list
            contactList.add(contact);
        } while (cursor.moveToNext());
    }

    // return contact list
    return contactList;
}

}
下面是我将数据放入数据库的代码

DatabaseHandler db = new DatabaseHandler(this);
 db.addContact(new Contact(registeredname,registerdphone,adress )); << Error here
DatabaseHandler db=新的DatabaseHandler(此);
db.addContact(新联系人(注册人姓名、注册人电话、地址)) 在
onCreate
方法上的
SQL
create脚本中出现错误(缺少逗号),并且未创建
KEY\u address

 + KEY_PH_NO + " TEXT" + KEY_ADRESS + " TEXT" + ")";
应该是:

 + KEY_PH_NO + " TEXT, " + KEY_ADRESS + " TEXT" + ")";

是的,它起作用了。我要做的唯一一件事就是首先卸载以前版本的应用程序,然后在向数据库添加新列时重新安装
 + KEY_PH_NO + " TEXT" + KEY_ADRESS + " TEXT" + ")";
 + KEY_PH_NO + " TEXT, " + KEY_ADRESS + " TEXT" + ")";