我试图在android上插入一些数据和SQLite DB,但下面的代码不起作用。任何人都可以发现这个问题。
db = this.openOrCreateDatabase("data_7.db", 0, null);
db.execSQL("CREATE TABLE IF NOT EXISTS 'group' (my_id TEXT NOT NULL, my_key TEXT NOT NULL)");
db.execSQL("INSERT INTO 'group' (my_id, my_key) VALUES ('abc', '123')");
db.close();
运行代码后,我从仿真器中提取出SQLite文件并使用SQLite GUI查看器打开它,表已创建但未插入数据。
注意:
答案 0 :(得分:0)
尝试这种方式:
"INSERT INTO group (my_id, my_key) " + "VALUES ('" + field_one + "', '" + field_two + "')";
答案 1 :(得分:0)
你必须在Dababase类中找到的方法onCreate()
中创建表,你必须像这样构建:
public class Database extends SQLiteOpenHelper
{
public static final String DB_NAME="YourDBName";
public static final int VERSION=1;
Context context=null;
public Database(Context context)
{
super(context, DB_NAME, null, VERSION);
this.context=context;
}
@Override
public void onCreate(SQLiteDatabase db)
{
try
{
String sql="CREATE TABLE group(my_id TEXT NOT NULL PRIMARY KEY, my_key TEXT NOT NULL)";
String insert="INSERT INTO group VALUES('abc','123');";
db.execSQL(sql);
db.execSQL(insert);
}
catch(Exception e)
{
Log.d("Exception", e.toString());
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
db.execSQL("DROP TABLE IF EXISTS group");
onCreate(db);
}
}
确保删除旧数据库或将版本更改为2以执行查询。 如果您需要执行此查询,则需要编写:
Database db=new Database();
SQLiteDatabasse read=db.getReadableDatabase();