當調試我的程序的這部分時,它一直告訴我的prcProcedimientoAlmacenado(我的存儲過程)爲空。下面是下面的代碼段,該數據庫連接到我的代碼(這是一個GUI界面,我把要添加到數據庫中的值)Java中的Java Callable語句爲空
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int idFacultad;
String connectionUrl= "jdbc:mysql://localhost:3306/basespro";
Connection con = null;
try{
CallableStatement prcProcedimientoAlmacenado=null;
Class.forName("com.mysql.jdbc.Driver");
con=(Connection) DriverManager.getConnection(connectionUrl,"root","bases13");
//con.setAutoCommit(false);
prcProcedimientoAlmacenado = con.prepareCall("{call addMateria(?,?,?)}");
int i=Integer.parseInt(id_Materia.getText());
System.out.println(" "+i);
prcProcedimientoAlmacenado.setInt("idMateria",i);
prcProcedimientoAlmacenado.setInt("idFacultad", 2);
prcProcedimientoAlmacenado.setString("nombreMateria", nombre_Materia.getText());
prcProcedimientoAlmacenado.execute();
con.commit();
}catch(Exception ex){
System.out.println(ex.getMessage());
}
的程序是下面的,但我在MySQL測試它工作臺,它會添加。 (更明確,過程需要2串和一個整數,並將其添加到表「本草」
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `addMateria`(In idMa int, In idFa int, In nomMa varchar(40))
BEGIN
INSERT INTO Materia(idMateria,idFacultad,nombreMateria) VALUES (idMa,idFa,nomMa);
END
你是什麼意思,它一直告訴你,'prcProcedimientoAlmacenado'爲空?你在捕捉一個'NullPointerException'嗎? – andersschuller
http://i.imgur.com/YJn43Gl.png調試時我得到了這個,顯然我的過程在進入該斷點時是無效的。 – ExodusLight