Android SQLite表插入
我有一个表单,用户可以跟踪他们的位置,并给每个事件起一个昵称。我正在收集这个昵称,并使用它在数据库中尝试使用该名称形成一个新表 我要么得到一个Android SQLite表插入,android,sql,sqlite,Android,Sql,Sqlite,我有一个表单,用户可以跟踪他们的位置,并给每个事件起一个昵称。我正在收集这个昵称,并使用它在数据库中尝试使用该名称形成一个新表 我要么得到一个 table does not exist 或 为了将新表添加到当前数据库,需要执行哪些操作 以下是整个课程: public class MySQLiteHelper extends SQLiteOpenHelper { public static final String TABLE_NAME = MainActivity.nickNam
table does not exist
或
为了将新表添加到当前数据库,需要执行哪些操作
以下是整个课程:
public class MySQLiteHelper extends SQLiteOpenHelper {
public static final String TABLE_NAME = MainActivity.nickName;
public static final String COLUMN_ID = "_id";
public static final String COLUMN_COMMENT = "comment";
public static final String COLUMN_LAT = "lat";
public static final String COLUMN_LONG = "long";
public static final String COLUMN_RADI = "radi";
private static final String DATABASE_NAME = "logs.db";
private static final int DATABASE_VERSION = 1;
// Database creation sql statement
private static final String DATABASE_CREATE = "create table "
+ TABLE_NAME + "(" + COLUMN_ID
+ " integer primary key autoincrement, " + COLUMN_COMMENT
+ " text not null," + COLUMN_LAT+ "," + COLUMN_LONG + "," + COLUMN_RADI + ");";
MySQLiteHelper(Context context) {
super(context, context.getExternalFilesDir(null).getAbsolutePath() + "/" + DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(MySQLiteHelper.class.getName(),
"Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS " + TABLE_COMMENTS);
onCreate(db);
}
}
请尝试以下查询:
String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_STARTDATE + " TEXT, " + KEY_STARTTIME + " TEXT, "
+ KEY_TRIALID + " TEXT, " + KEY_TRIALNAME + " TEXT, " + KEY_ENDDATE + " TEXT, "+ KEY_ENDTIME + " TEXT, " + KEY_USERNAME + " TEXT"+")";
values.put(KEY_STARTDATE, item.getStartdate());
values.put(KEY_STARTTIME, item.getStarttime());
values.put(KEY_TRIALID, item.getTrialid());
values.put(KEY_TRIALNAME, item.getTrialname());
values.put(KEY_ENDDATE, item.getEnddate());
values.put(KEY_ENDTIME, item.getEndtime());
values.put(KEY_USERNAME, item.getUsername());
您需要定义将数据插入数据库的方法 你也应该阅读这类事情的最佳实践。一个真正好的起点是:
String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_STARTDATE + " TEXT, " + KEY_STARTTIME + " TEXT, "
+ KEY_TRIALID + " TEXT, " + KEY_TRIALNAME + " TEXT, " + KEY_ENDDATE + " TEXT, "+ KEY_ENDTIME + " TEXT, " + KEY_USERNAME + " TEXT"+")";
values.put(KEY_STARTDATE, item.getStartdate());
values.put(KEY_STARTTIME, item.getStarttime());
values.put(KEY_TRIALID, item.getTrialid());
values.put(KEY_TRIALNAME, item.getTrialname());
values.put(KEY_ENDDATE, item.getEnddate());
values.put(KEY_ENDTIME, item.getEndtime());
values.put(KEY_USERNAME, item.getUsername());