我在 T-SQL 中有一个从这里开始的过程,当我在 SMSS 中执行它时它工作得很好。例如,我有一个动物表,如果我想搜索其中包含“猫”一词的所有列,我会这样做:
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 = cat,它会打印出:
EXEC SearchTable 'animals' 'cat'
这正是我在 SMSS 中所做的。但我得到了这个例外:
java.sql.SQLException: [Microsoft][SQL Server Native Client 10.0][SQL Server]Incorrect syntax near 'cat'.
我不知道是怎么回事。我将 JDK 7 与 NetBeans 7.1.2 和 SQL Server 2008 一起使用。