2012-07-02 31 views
1

我有一個從here T-SQL中的過程,當我在SMSS中執行它時,它是完美的。比如我有一個動物的表,如果我想尋找的是有它,我會做這個單詞「貓」中的所有列:存儲過程將無法正確執行從java

EXEC SearchTable 'animals' 'cat' 

這正如我所說的完美的作品。但是,當我從Java執行同樣的事情,就像這樣:

Statement statement = ProjectServer.dbConnection.createStatement(); 
String sql = "EXEC SearchTable '" + tblname + "' '" + searchTerm + "'"; 
System.out.println(sql); 
ResultSet results = statement.executeQuery(sql); 

和tblname =動物和SEARCHTERM =貓,它打印出這一點:

EXEC SearchTable 'animals' 'cat' 

這正是我在SMSS做。但我得到這個例外:

java.sql.SQLException: [Microsoft][SQL Server Native Client 10.0][SQL Server]Incorrect syntax near 'cat'. 

我不知道發生了什麼事情。我在NetBeans 7.1.2和SQL Server 2008上使用JDK 7.

回答

1

您錯過了逗號,不是嗎?

的SQL應該是EXEC SearchTable '動物', '貓'

+0

啊!不能相信我錯過了這一點。謝謝。我會盡可能接受答案。顯然我不夠信任這麼快接受一個。 – Logan

1

嘗試添加逗號

EXEC SearchTable 'animals', 'cat' 

您也可以指定像這樣的VAR名稱:

EXEC SearchTable 
    @tblname = 'animals', 
    @term = 'cat' 

但還是得有那個逗號。

+0

謝謝,我錯過了這樣一個簡單的錯誤。 – Logan