
android中sqlite能否动态创建数据表
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏15(财富值+成长值)
2个回答
展开全部
答案是肯定的,我是个小白刚刚接触android studio,在这个问题上卡了一段时间
背景:比如当前我有一个 user.db 里面有一个表,想再添加一个或者更多个。
首先我们要明白 继承SQLiteOpenHelper 里面必须重写的两个方法onCreate,onUpgrade。onCreate 只有在第一次安装app启动的时候才会调用,之后只要不卸载软件都不会执行(这里是个坑),至于onUpgrade,个人暂时没有使用过,这里先不回答。
明白第一条之后接下来就容易多了,在上面自己封装的类重新写一个方法,基于user.db再建立表,比如我写了一个,以后这个方法就可以随叫随到啦!
public void dynamicCreateTable(){
SQLiteDatabase db = getWritableDatabase();
String createTab_sql = "建立表格语句..."; //这里想要丰富灵活一些可以从上面传参数实现动态创建db.execSQL(createTab_sql );
}
可以插入数据进行验证(我之前就字段写错了导致浪费了好多时间...)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么是动态创建数据表。。。不懂
表建了就是建了,删了就是删了,建完了表就删那还建它干啥,你是想实现什么功能啊
表建了就是建了,删了就是删了,建完了表就删那还建它干啥,你是想实现什么功能啊
追问
就是我想根据需要在一个数据库中建立不同的表。 比方说我今天建立了一个名称为20150221的表,明天想建立一个名称为20150222的表等等, 但是我不想再去打开程序的源代码在那建表 而是通过一个edittext输入表的名称,点击一个建表的按钮就能立刻在此数据库添加一个表 就是这个样子 呵呵 不知道您懂我的意思了么?
追答
懂了,就是你想表的名字是变化的啊,表的名称就是edittext.getText();吧,在数据库建立的时候
执行建表命令的时候把固定的表明改为edittext.getText();吧,但是在前面你要用findviewbyid的方法获取edittext对象,判断一下edittext.getText();是否为空,为空就用固定的名字,不为空就用edittext.getText();的名字,还有一些细节你自己掌握
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询