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());