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()方法中初始化数据,可是第二个表就创建不了?求大神指教
展开
 我来答
千锋教育
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方法,创建表格。第二次进行将不会被重复调用。
打牌记账平台1
推荐于2017-11-26
知道答主
回答量:6
采纳率:0%
帮助的人:7515
展开全部
在 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);
........
你懂得 不解释
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
勇敢就酷
2013-08-22 · 超过13用户采纳过TA的回答
知道答主
回答量:58
采纳率:100%
帮助的人:34.8万
展开全部
很久没碰android了,android表中第一个字段应该不能用userid吧,我没记错第一个自增长的id是不是_id啊,你改改,至于第一个为什么创建成功了我真不知道,按你这种写法第一个也挺玄乎。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
otakuone
2013-08-22 · 超过17用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:43.3万
展开全部
外面先套个try catch 断点调试看下Exception那里的信息是什么,发来瞧瞧,具体问题具体分析
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kyoky_xxj
2013-08-22 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:59.2万
展开全部
把varchar(*) 都改成 text 试试
追问
没用啊
追答
有LOG贴出来看一下?
sql指令串不能出现一点错误,很可能就是一个符号是在中文输入法下输入的导致执行失败
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式