2011-12-08 72 views
0

使用MS SQL 2000有可能有一个查询,如:为什么SQL Server 2000中这个简单的SQL查询在SQL Server 2008中有不同的结果?

SELECT (Code + ' = ' + EdiNumber + ',') AS MyResult FROM tblCountry 

这将使你类似的结果的列表:

MyResult 
======== 
ZW = 263, 
ZA = 27, 
... 

然而,在MS SQL 2008的查询返回:

-1 records affected 

有没有人知道a)为什么?和b)如何从SQL 2008获取SQL 2000结果?

UPDATE

我只是使用标准的ASP.NET连接字符串使用控制台发布查询,以连接到数据库:

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MyDB.mdf;Integrated Security=True;User Instance=True; Database=MyDB 
+1

你有一些安全限制吗?尝试执行来自'sa'的查询 – Dewfy

+0

您使用什么工具执行此查询? –

+0

'-1受影响的记录是数据库输出(元数据),而不是您的查询结果。你可能正在用任何你正在运行的工具查找错误的窗口。 – StevieG

回答

0

问题解决了

-1 records affected显然是非特权结果,因为实际发生的所有事情在查询中是错误的,而试图连接string(代码)和一个int(EdiNumber)

正确的查询应该是:

SELECT (Code + ' = ' + CAST(EdiNumber AS VARCHAR) + ',') as MyResult FROM tblCountry 

一旦我得到了正确的查询从原来的控制台工作的罚款。

+1

你的代码似乎埋葬了异常消息。你不需要任何特殊的权限就可以看到这些特权。 –

相关问题