2011-12-08 76 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

你的代碼似乎埋葬了異常消息。你不需要任何特殊的權限就可以看到這些特權。 –

相關問題