**已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
11小时前关门了。
Improve this question
我目前正尝试将数据添加到SQLite中,但我遇到了一个问题,即booked_dobby_name的列未在我的表中创建。我检查了myDatabaseHelper.java无数次,但我仍然无法理解导致此问题发生的问题。我检查了查询,我确实认为我的格式是正确的。以下是我的代码(MyDatabaseHelper.java):
class MyDatabaseHelper extends SQLiteOpenHelper {
private Context context;
private static final String DATABASE_NAME = "BookedSlots.db";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME = "Booked_Reservation";
private static final String COLUMN_ID = "_id";
private static final String COLUMN_DATE = "booked_date";
private static final String COLUMN_START_TIME = "booked_start_time";
private static final String COLUMN_END_TIME = "booked_end_time";
private static final String COLUMN_MACHINE_ID = "booked_machine_id";
private static final String COLUMN_DOBBY_NAME = "booked_dobby_name";
MyDatabaseHelper(@Nullable Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
this.context = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
String query = "CREATE TABLE " +
TABLE_NAME +
" (" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_DATE + " TEXT, " +
COLUMN_START_TIME + " TEXT, " +
COLUMN_END_TIME + " INTEGER, " +
COLUMN_MACHINE_ID + " TEXT, " +
COLUMN_DOBBY_NAME + " TEXT" +
");";
db.execSQL(query);
}
@Override
public void onUpgrade(SQLiteDatabase db, int i, int i1) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
void addBook(String date, int startTime, int endTime, String machineID, String dobbyname) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(COLUMN_DATE, date);
cv.put(COLUMN_START_TIME, startTime);
cv.put(COLUMN_END_TIME, endTime);
cv.put(COLUMN_MACHINE_ID, machineID);
cv.put(COLUMN_DOBBY_NAME, dobbyname);
long result = db.insert(TABLE_NAME, null, cv);
if (result == -1) {
Toast.makeText(context, "Failed", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(context, "Added Successfully!", Toast.LENGTH_SHORT).show();
}
}
Cursor readAllData() {
String query = "SELECT * FROM " + TABLE_NAME;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = null;
if (db != null) {
cursor = db.rawQuery(query, null);
}
return cursor;
}
void deleteOneRow(String row_id){
SQLiteDatabase db = this.getWritableDatabase();
long result = db.delete(TABLE_NAME, "_id=?", new String[]{row_id});
if(result == -1){
Toast.makeText(context, "Failed to Delete.", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(context, "Successfully Deleted.", Toast.LENGTH_SHORT).show();
}
}
}
在我的www.example.com中BookingActivity.java,我调用数据库来向其中添加数据:
public void addDatabase(){
MyDatabaseHelper myDB = new MyDatabaseHelper(BookingActivity.this);
myDB.addBook(temp.trim(), startTime, endTime, machineID.trim(), dobbyName.trim());
}
我对这个特殊的问题感到困惑,因为我认为我已经实现了在SQLite中设置表的所有必要步骤。
1条答案
按热度按时间j8ag8udp1#
有一个错误,而创建表,尝试这个,让我知道,如果你面临同样的错误。
创建表时出现语法错误。