【问题标题】:How to escape double quotes for a SQLite insert statement - Angular如何为 SQLite 插入语句转义双引号 - Angular
【发布时间】:2022-01-25 05:03:30
【问题描述】:

我的 Angular 应用程序中有以下插入语句可以插入到本地 SQLite 数据库中。

INSERT INTO testtable (ID, userID, goTime, backTime, imageFileNames) VALUES (8,1,"00:00:00","00:00:00","{\"images\":[\"U9P0v8302e5fnrHd3D0lk04CDDONdYEF1p1cDDICLpQMZDTZXgcCigeNEZZHdA0rvcfhrIouMixH6XUKOOCe64Hcrmkf5QZuc9YY.jpg\"]}");

插入语句的图像部分出现语法错误。我知道这是因为内部的双引号,并且在内部双引号中添加额外的 " 将起作用。

我的问题是:有没有一种功能或方法可以在需要的地方轻松添加这些额外的双引号,以便语句再次有效?

【问题讨论】:

  • 您要插入的实际值是什么?
  • @forpas 插入后将类似于:{"images":["U9P0v8302e5fnrHd3D0lk04CDDONdYEF1p1cDDICLpQMZDTZXgcCigeNEZZHdA0rvcfhrIouMixH6XUKOOCe64Hcrmkf5QZuc9YY.png"]} 在 imageFileNames 列中
  • 你不需要逃避任何事情。将文本值括在单引号内:dbfiddle.uk/…

标签: angular typescript sqlite


【解决方案1】:

也许您可以将 backtips (`) 与 单引号 (') 和 双引号 (") 混合使用:

INSERT INTO testtable (ID, userID, goTime, backTime, imageFileNames) 
VALUES (
   8,
   1,
   "00:00:00",
   "00:00:00",
   `{"images:['U9P0v8302e5fnrHd3D0lk04CDDONdYEF1p1cDDICLpQMZDTZXgcCigeNEZZHdA0rvcfhrIouMixH6XUKOOCe64Hcrmkf5QZuc9YY.jpg']}"`
);

如果不行,试试这个方法:

  "{`images:['U9P0v8302e5fnrHd3D0lk04CDDONdYEF1p1cDDICLpQMZDTZXgcCigeNEZZHdA0rvcfhrIouMixH6XUKOOCe64Hcrmkf5QZuc9YY.jpg']}`"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 2014-06-07
    • 1970-01-01
    • 2018-05-09
    • 2011-04-19
    相关资源
    最近更新 更多