2011-08-12 58 views
1

我有執行下面的查詢SQL Server數據庫列名稱CATALOGNO無效。 SQL服務器異常

SELECT [CHEMICAL_NAME], 
     [CHEMI_UNIT], 
     [PRICE], 
     [VENDOR], 
     [CATEGORY] 
FROM [RPS].[dbo].[Chemicals] 
WHERE CATALOGNO = '" + catNo+"' ;"; 

Java方法以下是數據庫表中的列名

CATALOGNO, 
CAS_NO, 
CHEMICAL_NAME, 
CHEMI_UNIT, 
PRICE, 
VENDOR, 
CATEGORY, 

我得到上述錯誤

com.microsoft.sqlserver.jdbc.SQLServerException:列名稱 CATALOGNO無效。

當我從SQL Server查詢窗口運行它時,查詢本身執行得非常好。

+1

你上面不僅含有明顯的語法錯誤已經給查詢(無表名和WHERE關鍵字之間的空格),它顯然是引用字符串的一部分。請顯示整行代碼,如果您連接了一個SQL字符串 - 問題可能在於串聯。上面提供的內容不會像給出的那樣運行。 –

回答

0

嘗試使用完全合格的列名:

SELECT [CHEMICAL_NAME],[CHEMI_UNIT],[PRICE],[VENDOR],[CATEGORY]FROM [RPS].[dbo].[Chemicals]where [RPS].[dbo].[Chemicals].[CATALOGNO] = '" + catNo+"' ;"; 

但我不知道它可以幫助...

+0

謝謝,但同樣的問題仍然存在 – Raghu

+0

嗯,我想出了這個問題。我的錯。我從結果集中獲取目錄號。但是我從SELECT語句中刪除了它。所以返回的結果集沒有目錄號,所以它拋出了一個異常。 – Raghu