是否可以将像int[] numbers
这样的整数表插入到SQLite表中?
如何创建放置此表的列?
这行代码:
values.put(MySqlHelper.COLUMN_CHILDS, numbers);
给我一个错误,如:
Change type of `numbers` to `String`
答案 0 :(得分:14)
SQLite中没有数组数据类型。您有两种选择:
创建2个不同的表,一个“主”表和一个“数字”表,其中数字通过foreign key引用“主”表上的记录(行)。
(更容易但不理想):正如@CloudyMarble建议的那样,使用Arrays.toString(numbers)
(如果出于某种原因,不适合您的需要,请使用StringBuilder
)将所有数字放入数组中到逗号分隔的String并存储在数据库中。然后,您可以将该值从数据库中拉回到Java数组中,如下所示:
String[] s = stringFromDB.split(",");
int[] numbers = new int[s.length];
for (int curr = 0; curr < s.length; curr++)
numbers[curr] = Integer.parseInt(s[curr]);
答案 1 :(得分:3)
将数字数组插入字符串:
Arrays.toString(numbers);
在读取时使用split方法拆分数组,并将元素转换为整数,作为@drewmore的答案显示。