它继续发生错误......是什么问题?每个变量都是字符串。
String insertSQL = "INSERT INTO " + DBHelper.getTableName() + " VALUES (\''"+entry.getKey()+"\'', \''"+images+"\'')";
错误信息
插入标签结果值 (''Sky'', ''["/storage/emulated/0/DCIM/CandyCam/IMG_20171009_164101723.jpg","/storage/emulated/0/DCIM/Pictail/IMG_201"7080 /storage/emulated/0/DCIM/Pictail/IMG_20180401_235850170.jpg","/storage/emulated/0/DCIM/Pictail/IMG_20180518_194252232.jpg"]''))
我的表有三列:ID(Integer), LABEL(TEXT), IMAGES(TEXT)
问题 1 您指定了一个带有空格的表名,即 LABELING RESULT,如果这是表名,那么您需要将其括起来,例如 [LABELING RESULT]。
问题 2 当你应该只有 1 时,你有双单引号。
问题 3 你有一个额外的右括号。
我相信以下是您想要的:-
INSERT INTO [LABELING RESULT] VALUES ('Sky', '["/storage/emulated/0/DCIM/CandyCam/IMG_20171009_164101723.jpg","/storage/emulated/0/DCIM/Pictail/IMG_20180305_000218777.jpg","/storage/emulated/0/DCIM/Pictail/IMG_20180401_235850170.jpg","/storage/emulated/0/DCIM/Pictail/IMG_20180518_194252232.jpg"]'))
哪个(虽然未检查)是:-
String insertSQL = "INSERT INTO [" + DBHelper.getTableName() + "] VALUES ('"+entry.getKey()+"', '"+images+"')";
假设Sky进入LABEL列,2 个逗号分隔的图像路径进入IMAGES列。
如果要使用关键字作为名称,则需要引用它。SQLite中有四种引用关键字的方式:
- 'keyword' 单引号中的关键字是字符串文字。
- "keyword" 双引号中的关键字是一个标识符。
- [关键字] 方括号中的关键字是标识符。这不是标准的 SQL。这种引用机制由 MS Access 和 SQL Server 使用,并包含在 SQLite 中以实现兼容性。
keyword
包含在重音符(ASCII 代码 96)中的关键字是一个标识符。这不是标准的 SQL。这种引用机制由 MySQL 使用,并包含在 SQLite 中以实现兼容性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句