1

我在 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 一起使用。

4

2 回答 2

1

你少了一个逗号,不是吗?

SQL 应该是 EXEC SearchTable 'animals', 'cat'

于 2012-07-02T11:29:53.330 回答
1

尝试添加逗号

EXEC SearchTable 'animals', 'cat' 

您还可以像这样指定 var 名称:

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

但是..仍然必须有那个逗号。

于 2012-07-02T11:31:24.560 回答