2012-08-03 78 views
5

在Ruby中有可能使用的字符串,而无需逃避字符串中的双引号,像Q /我的一些字符串以“双引号”/如何避免C#字符串中的双引号转义?

是否有可能与C#使用字符串,而无需逃避双引号? 为了一个很好的理由,我需要编写内联SQL,每次将SQL控制台查询从数据库控制台传送到C#代码时,都非常烦人。

我知道这是可能使用\”或‘’作为一个双引号,但是是有可能避免需要转义双引号?

+0

简单地说。不可以。您可以使用@符号来停止“这是一个”+ [代码清晰度的换行符]“在一行中不需要的长字符串”;但是没有办法避免逃跑。 – 2012-08-03 08:21:21

回答

4

不,这不可能在C#中,你可以写你在一个单独的文件,然后SQL进行阅读

9

没有,基本上你的"foo \" bar"@"foo "" bar",这两者你所提到的选择。然而,坦白说,我很少能找到在SQL必要";。你有'用于文字字符串和[/]用于对象/列名 - 当然,这可能只是因为我平常请使用SQL Server。

不会涉及任何转义的唯一替代方法是将SQL移动到外部资源文件,可能是文本文件。不过,这可能比仅使用""更痛苦。

+1

我使用PostgreSQL,其中CamelCase名称应该用双引号进行转义。 – Zelid 2012-08-03 08:21:49

+0

@ Zelid是的,我怀疑你可能使用了不同的数据库引擎给我(我很少看到这个问题)。对不起,我想,你必须选择哪一个选项是最不利的。 – 2012-08-03 08:22:49

0

一个很好的理由,我需要编写内联SQL每次我把SQL查询从DB控制台的C#代码 时间是很烦人的 逃生双引号。

如果您正在编写内联Sql查询,那么如果您通过SqlParameters传递值,则不需要担心引号。这样你就不会在每个地方看到烦人的双引号,甚至你的查询将从Sql注入安全

+0

我使用Massive作为轻量级DB访问库。它总是使用params逃脱。当我使用CamelCase名称时,我需要在PostgreSQL的列名和表名中使用双引号。 – Zelid 2012-08-03 08:27:24

+0

@Zelid哦,在这种情况下,我同意它会讨厌看到双引号在每个地方,我不认为你有另一种选择 – HatSoft 2012-08-03 08:30:35

相关问题