Android创建sqlite数据库,以创建表项目就崩溃这是为毛?

写了一段代码创建sqlite数据库使用模拟器测试,每次执行到创建表的代码的时候为什么程序就崩溃了?求解代码如下:publicclassMyDBSQLiteextendsS... 写了一段代码创建sqlite数据库使用模拟器测试,每次执行到创建表的代码的时候为什么程序就崩溃了?求解
代码如下:
public class MyDBSQLite extends SQLiteOpenHelper {
private static final String tag = "create";
public MyDBSQLite(Context context) {
super(context, "itheima.db", null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
Log.v(tag, "数据库被创建了");
db.execSQL("create table info(_id integer primary key autoincrement,name varchar(20),phone varchar(20)");
Log.v(tag, "表被创建了");
}

@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub

}

}

Activity代码如下:
public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void add(View view){
MyDBSQLite helper = new MyDBSQLite(this);
SQLiteDatabase db = helper.getWritableDatabase();
Random random = new Random();
db.execSQL("insert into info (name,phone) values (?,?)",new Object[]{"zhangsan"+random.nextInt(100),"110-"+random.nextInt(100)});
db.close();
}
}
展开
 我来答
蓝二的兔叽
2018-04-25 · 超过73用户采纳过TA的回答
知道小有建树答主
回答量:117
采纳率:0%
帮助的人:43.9万
展开全部
  1. 是你创建表的代码有问题,我运行了你的代码,控制台会出现这个bug,可以定位到具体是哪里出了问题,显示少了一个“)”

  2. 解决:加上这个收扩号

  3. 建议下次直接贴错误,这样会有更多的人帮忙解决,代码多的话,很少有人高兴帮你去弄一遍看问题在哪的,小小的建议

百度网友491f1c2
推荐于2018-04-25 · TA获得超过2297个赞
知道大有可为答主
回答量:2504
采纳率:62%
帮助的人:2258万
展开全部
建表语句写错了,phone varchar(20) 后面还少了一个括号。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱心永恒2008
2015-08-22 · TA获得超过1231个赞
知道小有建树答主
回答量:1314
采纳率:62%
帮助的人:331万
展开全部
db已经被创建了,重复创建加个异常处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
RLXXQ
2018-04-24 · TA获得超过1154个赞
知道小有建树答主
回答量:833
采纳率:51%
帮助的人:242万
展开全部
难道是 info后面没有空格的原因?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式