android中怎样在sqlite中创建一个数据库然后在该数据库中创建两个表? 20
privatestaticfinalStringTAG="DatabaseHelper";privateDatabaseHelperdbOpenHelper=null;p...
private static final String TAG = "DatabaseHelper";
private DatabaseHelper dbOpenHelper=null;
public DatabaseHelper(Context context) {
super(context, "test.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
//1.创建第一个数据表
db.execSQL("create table tiku(id integer primary key," +
"imgsrc varchar(70)," +
"key varchar(30)," +
"keynum integer," +
"preparekey varchar(200)," +
"achievement varchar(500));");
//创建第二个数据表
db.execSQL("CREATE TABLE userinfo (userid integer primary key," +
"checkpoints integer," +
"jinbi integer," +
"buyjinbi integer);");
}
第一个数据表可以创建成功,并且可以在onCreate()方法中初始化数据,可是第二个表就创建不了?求大神指教 展开
private DatabaseHelper dbOpenHelper=null;
public DatabaseHelper(Context context) {
super(context, "test.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
//1.创建第一个数据表
db.execSQL("create table tiku(id integer primary key," +
"imgsrc varchar(70)," +
"key varchar(30)," +
"keynum integer," +
"preparekey varchar(200)," +
"achievement varchar(500));");
//创建第二个数据表
db.execSQL("CREATE TABLE userinfo (userid integer primary key," +
"checkpoints integer," +
"jinbi integer," +
"buyjinbi integer);");
}
第一个数据表可以创建成功,并且可以在onCreate()方法中初始化数据,可是第二个表就创建不了?求大神指教 展开
2015-11-23 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
public class DBOpenHelper extends SQLiteOpenHelper {
private static final String DATABASENAME = "test.db"; //数据库名称
private static final int DATABASEVERSION = 1;//数据库版本,大于0
public DBOpenHelper(Context context) {
super(context, DATABASENAME, null, DATABASEVERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE person (personid integer primary key autoincrement, name varchar(20), amount integer)");//创建表 person
db.execSQL("CREATE TABLE peson2(personid integer primary key autoincrement, name varchar(20), amount integer)");//创建表 person2
}
}
这个是Android默认的数据库操作类,可以可以获得数据库操作对象,第一次使用时会调用onCreate方法,创建表格。第二次进行将不会被重复调用。
private static final String DATABASENAME = "test.db"; //数据库名称
private static final int DATABASEVERSION = 1;//数据库版本,大于0
public DBOpenHelper(Context context) {
super(context, DATABASENAME, null, DATABASEVERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE person (personid integer primary key autoincrement, name varchar(20), amount integer)");//创建表 person
db.execSQL("CREATE TABLE peson2(personid integer primary key autoincrement, name varchar(20), amount integer)");//创建表 person2
}
}
这个是Android默认的数据库操作类,可以可以获得数据库操作对象,第一次使用时会调用onCreate方法,创建表格。第二次进行将不会被重复调用。
展开全部
在 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
db.execSQL("create table sunCount(id integer primary key autoincrement,conut integer)");
}
这里面创建 更新数数据库 再创建一张表 就可以了 创建表的方法 和开始一样
...........
this.helper = new SunDatabasehelper(Context);
this.db = this.helper.getWritableDatabase();
this.helper.onUpgrade(this.db, 1, 2);
........
你懂得 不解释
{
db.execSQL("create table sunCount(id integer primary key autoincrement,conut integer)");
}
这里面创建 更新数数据库 再创建一张表 就可以了 创建表的方法 和开始一样
...........
this.helper = new SunDatabasehelper(Context);
this.db = this.helper.getWritableDatabase();
this.helper.onUpgrade(this.db, 1, 2);
........
你懂得 不解释
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很久没碰android了,android表中第一个字段应该不能用userid吧,我没记错第一个自增长的id是不是_id啊,你改改,至于第一个为什么创建成功了我真不知道,按你这种写法第一个也挺玄乎。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
外面先套个try catch 断点调试看下Exception那里的信息是什么,发来瞧瞧,具体问题具体分析
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把varchar(*) 都改成 text 试试
追问
没用啊
追答
有LOG贴出来看一下?
sql指令串不能出现一点错误,很可能就是一个符号是在中文输入法下输入的导致执行失败
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |