我是 Java 和 Oracle 之间连接的新手,我正在设计一个登录页面。
我正在尝试从 JAVA 调用 Oracle 函数。FUNCT_PERSON
假设使用 2 个 IN 参数调用 Oracle 函数:username
并password
返回用户 id,即NUMBER
.
在FUNCT_PERSON
函数内部,我们使用一个SELECT
语句,如果找到则返回用户 ID 号,否则返回 0。
这是我的代码:
String sql = "{ ? = call FUNCT_PERSON(?,?) }";
CallableStatement statement = connection.prepareCall(sql);
statement.setString(2,username);
statement.setString(3,password);
statement.registerOutParameter(1, java.sql.Types.INTEGER);
Boolean check = statement.execute();
if (!check) {
//proceed to another page
} else {
//Go back to the login page
}
我不知道我做的对不对,尤其是那Boolean check = statement.execute();
行,因为我真的不知道支票是干什么用的。。
如果函数返回一个用户 ID,这意味着它存在于数据库中,我将进入另一个页面。如果没有,那么它将重定向到登录页面。