将整数表 - int [] - 插入SQLite数据库,

时间:2013-05-14 10:21:10

标签: java arrays sqlite insert

是否可以将像int[] numbers这样的整数表插入到SQLite表中?

如何创建放置此表的列?

这行代码:

values.put(MySqlHelper.COLUMN_CHILDS, numbers);

给我一​​个错误,如:

Change type of `numbers` to `String`

2 个答案:

答案 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的答案显示。