我正在使用新的 C# 6.0 功能字符串插值来生成 SQL 语句。
$@"INSERT INTO [dbo].[TableName]([Column1], [Column2]) Values({item.property1}, {item.property2})";
如果属性为空则生成的 SQL 如下
INSERT INTO [dbo].[TableName]([Column1], [Column2]) Values(,)
这会导致错误。 (不正确的 SQL)。
我需要 Null 而不是空格。我能以某种方式实现这一目标吗?
最佳答案
{Convert.ToString(item.property1) ?? "NULL"}
应该这样做。这仍然是错误的,因为您需要非常特定的格式才能使 SQL 正确显示。您可以自己解决格式问题。
通常的 SQL 注入(inject)免责声明已经在评论中给出。这种方法是无可救药的。你需要把它扔掉。
关于c# - C# 6 中的 null 和字符串插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36038817/