如何在C#中替换'with''

1 c# t-sql

我有一些代码创建存储过程并将其发送到SQL DB,参数是文件名,其中一个文件包含字符'

我试图在C#中替换'with'而没有运气,

任何帮助,

Bab*_*fas 5

简短回答:

String myString = "'foo'";
myString = mySTring.Replace("'", "''");
Run Code Online (Sandbox Code Playgroud)

我愿意打赌你调用相同的替换方法,但不将结果存回原始字符串.不要忘记,字符串是不可改变的.字符串上的方法不会操纵字符串本身,而是返回修改后的字符串.

长答案:你应该在查询中使用参数而不是你想要做的事情.通过消除上面替换调用的需要,参数化参数可以使代码更加清晰.它还可以防止注入攻击/错误,从而使您的查询更安全.

SqlCommand query = myConnection.CreateCommand();
query.CommandText =  "SELECT * FROM myTable where name = @name";
query.Parameters.Add( new SqlParameter( "name", "john" ) );
Run Code Online (Sandbox Code Playgroud)

  • +1 - 使用参数化查询...希望看到你解释_why_他们更好. (2认同)