在开发当中往往要一次性的把很多的预设信息存到数据库。对于新手来说就是一个比较头疼的问题了。
不可能通过for循环一遍一遍的执行inert语句,这样的效率很低很低,在手机上存500条数据,好很长时间。
通过搜索网上资料,大致有三种方法;
1、通过";"拼字符串,如:“insert into table values (x,x,x);insert into table values (x,x,x);insert into table values (x,x,x);”
2、通过另外一种插入语句,如:insert into points (x_axis,y_axis,img_id,width,height) select 150,150,1,40,40 union all select 50,50,1,40,40 union all select 150,50,1,40,40 ;
3、通过XML导入数据,然后……这个我看了看,直接神略了。
试验总结:
对于第一种方法,我在电脑上模拟是成功了,但是同样的语句搬到android手机上面就只能执行一句!试了很多次,无语,只能放弃。
第二种方法成功了。但是如果很多记录的话,也要写好长的语句,但是相比较,比第一种的长度短多了。^_^。我做的试验是执行55条数据,执行起来时间很短,感觉不到影响。
第三种方法我没有试验。原因是:首先要将记录一个一个写进xml(这个工作量不小),第二步是将xml中的数据读出来,第三步才是通过第二种方法插入数据库。写入xml中的目的就是节省代码空间。实际上并不划算。如果数据很多的话,是可以采用这种方法的,只是为了节省代码空间。
如果说还有其他方法的话就是存储过程了,但是SQLite不支持复杂的sql语句包括存储过程,也不支持超大规模的数据存储。