为什么SQL查询会抛出错误

时间:2015-08-14 14:28:41

标签: c# sql sql-server-2008

代码:

MainActivity

我在这一行中不断收到错误:string qr = @"select 'TheCode','CodeDesc' from [dbo].[Table1] as \""Table1\"" order by 'CodeDesc'"; using (SqlConnection conn = new SqlConnection(connstring)) { try { conn.Open(); SqlCommand cmd = new SqlCommand(qr, conn); SqlDataReader sdr = cmd.ExecuteReader(); } catch (Exception ex) // Incorrect syntax near '\'. { string error = ex.Message; } finally { conn.Close(); } }

错误:

cmd.ExecuteReader();

如何解决错误。

2 个答案:

答案 0 :(得分:2)

你在命令字符串的开头添加了@,所以它会是这样的:

select distinct 'TheCode','CodeDesc' from [dbo].[Table1] as \""Table1\"" 
order by 'CodeDesc'";

从命令字符串中删除\""\""。您还按'包裹了应删除的列名称

string strQryDDL = @"select distinct TheCode,CodeDesc from [dbo].[Table1] as t 
order by CodeDesc";

你没有使用别名,所以你可以删除它,

string strQryDDL = @"select distinct TheCode,CodeDesc from [dbo].[Table1] 
order by CodeDesc";

答案 1 :(得分:1)

在c#字符串中使用“@”符号时,使用不用带斜杠的转义引号,连续使用两个符号:“” 你的另一个问题是单引号,全部删除它们,你不用引号括起字段名称,只是文字文本。