如何设置一个sql字符串而不会在常量错误中获取换行符

Ian*_*n W 1 c# sql string

这是愚蠢的,但我声明sqlcommand的sql字符串,我不得不在一行上写它作为

string strSQL = "SELECT [Year],[Week No],StartDate,EndDate,Dept,[Clock No],RTRIM(Name)+' '+   RTRIM(initial) as Name,[Own Hours],[Other Hours],[Total Hours],[OT Premium] FROM [Wages].[CHHours] Where [Year]=@WageYear and [Week No]=@Week Order by  [Year] DESC, [Week No] DESC,Dept,[Clock No]" ;
Run Code Online (Sandbox Code Playgroud)

因为否则我会在常量错误中得到换行符,但这看起来真难看,难以阅读.在vb中它会使用&_继续,因为c#不是对空格敏感的(我想)我应该这样写它

string strSQL = "SELECT [Year],[Week No],StartDate,EndDate,Dept,[Clock No],
              RTRIM(Name)+' '+ RTRIM(initial) as Name,[Own Hours],[Other Hours],
               [Total Hours],[OT Premium] 
               FROM [Wages].[CHHours] 
               Where [Year]=@WageYear and [Week No]=@Week 
               Order by  [Year] DESC, [Week No] DESC,Dept,[Clock No]" ;
Run Code Online (Sandbox Code Playgroud)

或者我必须这样做

string strSQL = "SELECT [Year],[Week No],StartDate,EndDate,Dept,[Clock No],";

string strSQL = strSQL+" RTRIM(Name)+' '+ RTRIM(initial) as Name,[Own Hours]";

string strSQL = strSQL+",[Other Hours],[Total Hours],[OT Premium] ";

string strSQL = strSQL+"FROM [Wages].[CHHours] ";

string strSQL = strSQL+" Where [Year]=@WageYear and [Week No]=@Week ";

string strSQL = strSQL+"Order by  [Year] DESC, [Week No] DESC,Dept,[Clock No]" ;
Run Code Online (Sandbox Code Playgroud)

这让我觉得很老了!

Ian最好的方法是什么?

Ang*_*ell 6

使用@符号,例如

string strSQL = @"SELECT [Year],[Week No],StartDate,EndDate,Dept,[Clock No],
         RTRIM(Name)+' '+ RTRIM(initial) as Name,[Own Hours],[Other Hours],
           [Total Hours],[OT Premium] 
           FROM [Wages].[CHHours] 
           Where [Year]=@WageYear and [Week No]=@Week 
           Order by  [Year] DESC, [Week No] DESC,Dept,[Clock No]" ;
Run Code Online (Sandbox Code Playgroud)

那可能有用吗?