如何设置一个 sql 字符串而不会在不断错误中换行
本文关键字:错误 换行 sql 设置 何设置 一个 字符串 | 更新日期: 2023-09-27 18:36:49
这很愚蠢,但我正在为 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]" ;
因为否则我会不断出错,但换行符看起来真的很丑且难以阅读。在 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]" ;
还是我必须做
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]" ;
这让我觉得很老了!
请问最好的方法是什么伊恩
使用 @ 符号,例如
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]" ;
这可能有效吗?
这个怎么样:
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]";
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]" ;
//Now replace the @... with your desired data
strSQL = strSQL.Replace("@WageYear",your year).Replace("@Week ",your week);
//Or in multiple lines
strSQL = strSQL.Replace("@WageYear",your year);
strSQL = strSQL.Replace("@Week ",your week);
希望这有帮助
如果将
文本框中的信息添加到查询中,则可以同时使用两者的组合。像这样的东西
string strSQL = "SELECT [Year],[Week No],StartDate,EndDate,Dept,'" + textBox1.Text + "'[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]";