Android无法插入SQLite3数据库
我试图在android上向和SQLite DB中插入一些数据,但下面的代码就是不起作用。有人能发现这个问题吗Android无法插入SQLite3数据库,android,sql,sqlite,Android,Sql,Sqlite,我试图在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)
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();
运行代码后,我从emulator中提取了SQLite文件,并使用SQLite GUI查看器打开它,创建了表,但没有插入任何数据
注:
我在这个网站上搜索了一整天,没有找到一个
这个问题的适当答案
我想这样做没有帮助的方法,如
插入我需要使用纯SQL
试着这样做:
您必须在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();
试着去掉表名周围的单引号?这是我看到的唯一可能存在的东西…您是用哪种方法编写这段代码的?@Grishu没有错误,数据只是没有插入。@jsoft试图删除引号,运气不好,数据仍然没有插入insert@KhalidTaha我在我的活动中用onClick方法写了这个
Database db=new Database();
SQLiteDatabasse read=db.getReadableDatabase();