将插入字符串构建为 sql 存在来自 CSV/JSON 的问题



我正在尝试从.CSV文件构建一个字符串。我将其转换为 Json,并希望为我的 SQL Server 构建一个插入语句。

我正在使用 ChoETL nuget 从 csv 转换为 json。

当我构建字符串时,我得到这个:

Insert into dbo.JsonMeta (Json) values('{
"ID": "xxxxx",
"FLYTTEDATO": "01/02/2020",
"FLYTTE_TIDSPUNKT": "1000'"
}')

正如您在 1000 位数字之后看到的。有一个'性格。这使我的字符串导致错误,因为它结束了字符串。

如何删除此'字符或执行一些聪明的操作?

一旦有了 JSON 字符串,请不要将其粘贴到 SQL 语句中。 请改用参数。

这可以解决您的问题,保护您免受 SQL 注入攻击。

Insert into dbo.JsonMeta (Json) values(@json)

只需在它旁边用另一个单引号转义它。您仍将在数据中保留该单引号。

Insert into dbo.JsonMeta (Json) values('{
"ID": "xxxxx",
"FLYTTEDATO": "01/02/2020",
"FLYTTE_TIDSPUNKT": "1000''"
}')