2011-09-14 92 views
1

我有一个查询与吨内连接和左外连接。它运行完美并在SQL Management Studio中为我提供了我想要的结果。但是当我运行.cs文件时,该查询的字符串值在“INNER JOIN”之前的某些位置包含“\ t”。我没有检查关键词之间的间隔,所有的语法都是正确的。有人知道这些“\ t”的东西何时来吗? t出来在SQL查询

+1

'\ t'是'TAB'字符。 –

+0

您是否将查询作为存储过程或cs文件中的内嵌查询运行? – Shirlz

+0

这不是存储过程只是一个正常的查询。 – daydream

回答

0

邑,感谢ypercube和kaps。它已经解决了。因为我将整个查询块从SQL Management Studio复制到.cs文件。我用“\ t”删除了那行,然后再次输入。

0

您可能想要再次检查您的cs代码中的查询,以确保您没有在任何地方使用\ t。我不认为它会在任何情况下自动插入。

使用存储过程而不是内联查询是一种很好的做法,因此您可能想尝试使用存储过程。

3

在Visual Studio中的调试器中,选项卡将显示为\t - 这并不意味着SQL Server不会理解语法,只是调试器显示特殊字符的方式。

0

如果你找不到在哪里制表符(“\ t”)的来源以及他们所造成的问题,你可以执行查询之前用空格代替它们:

var query = "SELCET * FROM MyTable"; 
query = query.Replace("\t", " ");