Android 应用程序应该在数据库中添加新行,但它停止工作
谁能告诉我这个代码有什么问题吗?它应该在数据库中添加一个新行,但当我运行它时,应用程序停止。我检查过了,联系人的详细信息已经创建好了,但是当在数据库中添加新信息时,它就停止工作了Android 应用程序应该在数据库中添加新行,但它停止工作,android,database,Android,Database,谁能告诉我这个代码有什么问题吗?它应该在数据库中添加一个新行,但当我运行它时,应用程序停止。我检查过了,联系人的详细信息已经创建好了,但是当在数据库中添加新信息时,它就停止工作了 public class MyDBHandler extends SQLiteOpenHelper { private static final int DATABASE_VERSION = 1; private static final String DATABASE_NAME = "ContactsDetails
public class MyDBHandler extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "ContactsDetails.db";
public static final String TABLE_NAME = "ConactsDetails";
public static final String COLUMN_ID = "_id";
public static final String COLUMN_FIRST_NAME = "first_name";
public static final String COLUMN_SURNAME = "surname";
public static final String COLUMN_DESCRIPTION = "description";
public static final String COLUMN_PHONE = "phone";
public static final String COLUMN_EMAIL = "email";
public static final String COLUMN_USERNAME = "username";
public static final String COLUMN_PASSWORD = "password";
public MyDBHandler(Context context, String name, SQLiteDatabase.CursorFactory factory, int version){
super(context, DATABASE_NAME, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
String query = "CREATE TABLE " + TABLE_NAME + "(" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT" +
COLUMN_FIRST_NAME + " TEXT " +
COLUMN_SURNAME + " TEXT " +
COLUMN_DESCRIPTION + " TEXT " +
COLUMN_PHONE + " TEXT " +
COLUMN_EMAIL + " TEXT " +
COLUMN_USERNAME + " TEXT " +
COLUMN_PASSWORD + " TEXT " +
");";
db.execSQL(query);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
//add new contact's details
public void addContact(NewUserContacts contact){
ContentValues values = new ContentValues();
values.put(COLUMN_FIRST_NAME, contact.getFirstName());
values.put(COLUMN_SURNAME, contact.getSurname());
values.put(COLUMN_DESCRIPTION, contact.getDescription());
values.put(COLUMN_PHONE, contact.getPhone());
values.put(COLUMN_EMAIL, contact.getEmail());
values.put(COLUMN_USERNAME, contact.getUsername());
values.put(COLUMN_PASSWORD, contact.getPassword());
SQLiteDatabase db = getWritableDatabase();
db.insert(TABLE_NAME, null, values);
db.close();
}
}
logcat中显示了什么?错误消息?数百个可能的原因,在没有看到错误堆栈的情况下,我们无法帮助,因此请将其发布在这里…什么是“联系详细信息”?这是数据库名吗?我认为任何表都不能创建,因为您在创建字符串中犯了一个错误
“整数主键自动递增”
您忘记了逗号,而且在每个“文本”
之后……应该是“整数主键自动递增”
和“文本”