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

Hos*_*kli 9 java arrays sqlite insert

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

如何创建我放这个表的列?

这行代码:

values.put(MySqlHelper.COLUMN_CHILDS, numbers);
Run Code Online (Sandbox Code Playgroud)

给我一个错误,如:

Change type of `numbers` to `String`
Run Code Online (Sandbox Code Playgroud)

dre*_*ore 14

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]);
Run Code Online (Sandbox Code Playgroud)

  • 但是Arrays.toString()将[]放在字符串周围(在它们之间用逗号).您的拆分代码段不会将其删除.我不知道ParseInt可以处理[]吗? (4认同)