public class MyDatabaseHelper extends SQLiteOpenHelper { private final static int DB_VERSION=1; private final static String DB_NAME="wunan_db"; private final static String TABLE_NAME="user"; public MyDatabaseHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } public MyDatabaseHelper(Context context,String name,int version){ this(context,name,null,version); } public MyDatabaseHelper(Context context,String name){ this(context,name,DB_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table user( id integer primary key autoincrement,datetime text,feel text,content text)"); Log.i("onCreate", "第一次创建表"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
/*public void delete(MyDatabaseHelper dbHelper,String date){ SQLiteDatabase db = dbHelper.getReadableDatabase(); db.execSQL("DELETE FROM " + "user" + " WHERE datetime="+ date); db.close(); }*/
今天在进入sqlite数据库删除的时候出现了这个问题,(1) no such column: ee
搜索得知这是因为数据库中没有这一列,我的sql语句为"db.execSQL("DELETE FROM " + "user" + " WHERE datetime="+ date);),目的是为了将datetime这一列所对应的date日期这一行所对的对象删除掉,一直报错它并不是我数据库中的列名字段,后来各种分析和查找才发现,原来我的datetime是TEXT类型,sql语句应该改为db.execSQL("DELETE FROM " + "user" + " WHERE datetime=' "+ date+ "'");这样才能删除数据库中的
datetime 这一列所对应的date这一行数据。