Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 419
  • Last Modified:

C# code with a SQL string is converting single quotes to 2 single quotes.

I have a bit of code as below, and for some strange reason the actual code issued to SQL server has all of the single quotes replaced with 2x single quotes. Not by my code though. Any thoughts anyone ?
C# code
string sql = @"SELECT TOP 1 isnull(rtrim(JCI.joco_FirstName), '''' ) WHERE Case_CaseId = @CaseId;";
     // execute
     using (SqlDataAdapter da = new SqlDataAdapter(sql.ToString(), connection))
     {
         da.SelectCommand.Parameters.AddWithValue("@CaseId", JobId);
         da.Fill(dtDetail);
     }


Actual SQL issued (via SQL Profiler trace)
exec sp_executesql N'SELECT TOP 1 isnull(rtrim(JCI.joco_FirstName), '''''''' ) WHERE Case_CaseId = @CaseId;',N'@CaseId int',@CaseId=2237361

Open in new window

0
Phil Catterall
Asked:
Phil Catterall
1 Solution
 
Carl TawnSystems and Integration DeveloperCommented:
SQL Server is escaping them because the parameter to sp_executesql is itself wrapped in single quotes. You don't need to double up the quotes in your query, the following should work fine:
string sql = @"SELECT TOP 1 isnull(rtrim(JCI.joco_FirstName), '' ) WHERE Case_CaseId = @CaseId;";

Open in new window

0
 
Phil CatterallAuthor Commented:
Perfect. Simples !!
Thanks
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now