如何使用callablestatement调用'view'

时间:2014-05-14 08:19:06

标签: java sql jdbc callable-statement

我认为这将是一个简单的谷歌搜索,但我无法找到答案:

我将Access数据库移动到SQL Server,我已将一些查询转换为视图。我的Java应用程序过去常常使用简单的方法调用每个查询:

{ call dbo.GetOtherRanges() } //Well, not entirely true - Access did not use 'dbo' schema in front of the name

这适用于存储过程。但是当我在观看时这样做时,我会收到以下信息:

[SQL Server]The request for procedure 'GetOtherRanges' failed because 'GetOtherRanges' is a view object.

我认为这就像删除视图名称后的()括号一样简单,但是没有做到这一点。

  • 我如何致电'使用JDBC CallableStatment的视图?
  • 是否有不同的方式调用表值函数?

1 个答案:

答案 0 :(得分:3)

可以像JDBC中的Views一样访问

Tables

你不需要CallableStatement

只需使用StatementPreparedStatement即可。

如果您需要帮助操作方法,以下是找到的示例代码here 使用视图名称而不是Table1

public void connectToAndQueryDatabase(String username, String password) {

    Connection con = DriverManager.getConnection(
                         "jdbc:myDriver:myDatabase",
                         username,
                         password);

    Statement stmt = con.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");

    while (rs.next()) {
        int x = rs.getInt("a");
        String s = rs.getString("b");
        float f = rs.getFloat("c");
    }
}