【发布时间】:2016-05-24 08:11:23
【问题描述】:
我有一个函数,它返回 VARCHAR,但启动时没有参数,它看起来像这样:
create or replace
FUNCTION stosunek_platnosci RETURN VARCHAR
IS
liczba_oplaconych NUMBER;
liczba_nieoplaconych NUMBER;
komentarz Varchar(135);
oplacone Varchar(1) := 'T';
begin
Select count(*) into liczba_oplaconych from rezerwacje where platnosc_dokonana = oplacone;
Select count(*) into liczba_nieoplaconych from rezerwacje where platnosc_dokonana != oplacone;
if liczba_oplaconych > liczba_nieoplaconych then
komentarz:= 'Obecnie klienci w większości opłacili swoje rezerwacje.';
elsif liczba_oplaconych < liczba_nieoplaconych then
komentarz:= 'Obecnie klienci w większości nie opłacili swoich rezerwacji.';
else
komentarz:= 'W bazie jest tyle samo opłaconych i nieopłaconych rezerwacji.';
end if;
RETURN komentarz;
end;
然后这样称呼它:
try {
callStmt = connection.prepareCall("{stosunek_platnosci();}");
callStmt.registerOutParameter(1, java.sql.Types.VARCHAR);
callStmt.execute();
jTextField1.setText(callStmt.getString(1));
} catch (SQLException ex) {
Logger.getLogger(Stats.class.getName()).log(Level.SEVERE, null, ex);
}
最后还是不行……你能帮帮我吗?
【问题讨论】:
-
错误是什么?
-
您可以在底部查看问题,也许它会有所帮助。 Call pl/sql function in java?
-
错误是:java.sql.SQLException: Invalid column index