10

是否可以将整数表插入int[] numbersSQLite 表中?

如何创建我放置此表的列?

这行代码:

values.put(MySqlHelper.COLUMN_CHILDS, numbers);

返回我一个错误,如:

Change type of `numbers` to `String`
4

2 回答 2

16

SQLite 中没有数组数据类型。你有两个选择:

创建 2 个不同的表,一个“主”表和一个“数字”表,其中数字通过外键引用“主”表上的记录(行) 。

(更简单但不理想):正如@CloudyMarble 所建议的那样,使用Arrays.toString(numbers)(或StringBuilder由于某种不符合您需要的原因使用)将数组中的所有数字放入逗号分隔的字符串中并将其存储在您的数据库中。然后,您可以将该值从数据库中拉回 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]);
于 2013-05-14T10:31:42.463 回答
4

将您的数字数组作为字符串插入:

Arrays.toString(numbers);

并在阅读时使用 split 方法拆分数组并将元素转换为整数,如@drewmore 的回答所示。

于 2013-05-14T10:40:44.170 回答