簡體   English   中英

C#6中的null和字符串插值

[英]null and string interpolation in C# 6

我正在使用新的C#6.0功能“字符串插值”來生成SQL語句。

$@"INSERT INTO [dbo].[TableName]([Column1], [Column2]) Values({item.property1}, {item.property2})";

如果屬性為null,則生成的SQL如下

INSERT INTO [dbo].[TableName]([Column1], [Column2]) Values(,)

這會導致錯誤。 (錯誤的SQL)。
我需要Null而不是空白。 我能以某種方式實現這一目標嗎?

{Convert.ToString(item.property1) ?? "NULL"} {Convert.ToString(item.property1) ?? "NULL"}應該做到這一點。 這仍然是無效的,因為您需要非常特定的格式才能正確顯示SQL。 您可以自己解決格式問題。

注釋中已經給出了通常的SQL注入免責聲明。 這種方法是不可挽回的。 您需要扔掉它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM