android数据库建表不成功 database里的数据库里没有我建的表 求解决呀 30
publicclassgettogetherword{publicstaticfinalStringKEY_ROWID="_id";publicstaticfinalSt...
public class gettogetherword {
public static final String KEY_ROWID ="_id";
public static final String KEY_WORD ="word";
public static final String KEY_TRANSLATE="translate";
private static final String TAG="word";
private static final String DATABASE_NAME="note";
private static String DATABASE_TABLE="abc";
private static final int DATABASE_VERSION=1;
private static String DATABASE_CREATE="create table if not exists '"+DATABASE_TABLE+"' (_id integer primary key autoincrement, "
+"word text not null,translate text not null);";
private final Context context;
private DatabaseHelper DBHelper;
private SQLiteDatabase db;
public gettogetherword (Context ctx) {
this.context=ctx;
DBHelper=new DatabaseHelper(context);
}
private static class DatabaseHelper extends SQLiteOpenHelper{
public DatabaseHelper(Context context) {
// TODO Auto-generated constructor stub
super(context,DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
onCreate(db);
}
}
public gettogetherword open() throws SQLException{
db=DBHelper.getWritableDatabase();
return this;
}
public void close(){
DBHelper.close();
}
public void dropTable(){
String sql="drop table'"+DATABASE_TABLE+"'";
db.execSQL(sql);
}
public void insert(String word,String translate){
/*String sql="Insert into '"+DATABASE_TABLE+"' (word,translate) values("+word+", "+translate+")";
db.execSQL(sql);*/
ContentValues contentValues=new ContentValues();
contentValues.put("word", word);
contentValues.put("translate", translate);
db.insert(DATABASE_TABLE, null, contentValues);
}
问题是我没有做任何删除表的操作哦,好郁闷哦。表建不成,算法得重新写OTL 展开
public static final String KEY_ROWID ="_id";
public static final String KEY_WORD ="word";
public static final String KEY_TRANSLATE="translate";
private static final String TAG="word";
private static final String DATABASE_NAME="note";
private static String DATABASE_TABLE="abc";
private static final int DATABASE_VERSION=1;
private static String DATABASE_CREATE="create table if not exists '"+DATABASE_TABLE+"' (_id integer primary key autoincrement, "
+"word text not null,translate text not null);";
private final Context context;
private DatabaseHelper DBHelper;
private SQLiteDatabase db;
public gettogetherword (Context ctx) {
this.context=ctx;
DBHelper=new DatabaseHelper(context);
}
private static class DatabaseHelper extends SQLiteOpenHelper{
public DatabaseHelper(Context context) {
// TODO Auto-generated constructor stub
super(context,DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
onCreate(db);
}
}
public gettogetherword open() throws SQLException{
db=DBHelper.getWritableDatabase();
return this;
}
public void close(){
DBHelper.close();
}
public void dropTable(){
String sql="drop table'"+DATABASE_TABLE+"'";
db.execSQL(sql);
}
public void insert(String word,String translate){
/*String sql="Insert into '"+DATABASE_TABLE+"' (word,translate) values("+word+", "+translate+")";
db.execSQL(sql);*/
ContentValues contentValues=new ContentValues();
contentValues.put("word", word);
contentValues.put("translate", translate);
db.insert(DATABASE_TABLE, null, contentValues);
}
问题是我没有做任何删除表的操作哦,好郁闷哦。表建不成,算法得重新写OTL 展开
3个回答
展开全部
你创建第一个gettogetherword对象时,会建一个表,再创建第二个的时候不管你的表删没删都不会再创建了,除非你删除数据库,那样才会建新表。可能是你删了表吧,第一次应该会建的。
你先删除数据库,然后debug跟踪一下看看有没有执行建表语句。
我有一个疑问就是你在哪里看到的数据库,是一个名字为note的文件吗?我这里有表在里面啊,如果看到数据库应该是有表的,如果建表语句有问题会报错的。我觉得你应该没有打开数据库,你在创建gettogetherword对象语句后紧跟一句SQLiteDatabase myDB=DBHelper.getWritableDatabase();试试。
你先删除数据库,然后debug跟踪一下看看有没有执行建表语句。
我有一个疑问就是你在哪里看到的数据库,是一个名字为note的文件吗?我这里有表在里面啊,如果看到数据库应该是有表的,如果建表语句有问题会报错的。我觉得你应该没有打开数据库,你在创建gettogetherword对象语句后紧跟一句SQLiteDatabase myDB=DBHelper.getWritableDatabase();试试。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询