【发布时间】:2014-01-22 18:50:50
【问题描述】:
在调试我的程序的这一部分时,它一直告诉我的 prcProcedimientoAlmacenado(我的存储过程)为空。下面是一段代码,它将数据库连接到我的代码(这是一个 GUI 界面,我将要添加到数据库的值放入其中)
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 Workbench 中对其进行了测试,它确实添加了。 (更清楚地说,该过程需要 2 个字符串和一个整数,并将其添加到表“Materia”
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吗? -
i.imgur.com/YJn43Gl.png 我在调试时得到了这个,显然我的程序在进入该断点时无效。