У меня есть хранимая процедура. Я хочу вызвать процедуру в java. Однако результат не вышел .. ОшибкаВызов Informix хранимой процедуры в java
java.lang.NullPointerException
Как на самом деле назвать Informix хранимую процедуру Java. Пожалуйста, помогите мне .. Это мои примеры кода ..
Хранимая процедура
create procedure tryBaru_Procedure(v_name varchar(50),v_city varchar(20),out v_id int)
select id
into v_id
from tryBaru
where name=v_name;
update tryBaru
set city=v_city
where id=v_id;
end procedure;
Java
public class TryBaru_Controller {
Connection conn;
DBConnection dbConn = new DBConnection();
public tryBaru p(tryBaru tryje) throws Exception
{
conn = dbConn.getConnection();
//prepare call store procedure
CallableStatement cs = conn.prepareCall("{ call tryBaru_Procedure(?,?,?) }");
cs.setString(1, tryje.getName());
cs.setString(2, tryje.getCity());
cs.registerOutParameter(3, Types.INTEGER);
cs.executeQuery();
tryje.setId(cs.getInt(3));
cs.close();
conn.close();
return tryje;
}
}
Главная
public static void main(String[] args){
// TODO Auto-generated method stub
TryBaru_Controller tbc = new TryBaru_Controller();
tryBaru tb = new tryBaru();
String name1 = "Faridah";
String city1 = "Johor";
tb.setName(name1);
tb.setCity(city1);
try {
tbc.p(tb);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(tb.getName());
System.out.println(tb.getCity());
System.out.println(tb.getId());
}
Пожалуйста, включите трассировку стека и указать, где 'NullPointerException' происходит в вашем коде , –
Я тестировал ваш образец кода с помощью Informix JDBC 4.10.JC2DE и, похоже, работает. По крайней мере, выходной параметр задается, когда я устанавливаю его в хранимой процедуре. Я должен согласиться с Марком о stacktrace. –