【问题标题】:MySQL Callable statement in Java is nullJava中的MySQL Callable语句为空
【发布时间】: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 我在调试时得到了这个,显然我的程序在进入该断点时无效。

标签: java mysql sql callable


【解决方案1】:

尝试使用以下语法:

...
prcProcedimientoAlmacenado.setInt(1,i);
prcProcedimientoAlmacenado.setInt(2, 2);
prcProcedimientoAlmacenado.setString(3, nombre_Materia.getText());
...

要执行更新、删除或插入任何数据到数据库的查询,您必须使用:

executeUpdate(query)

Using Prepared Statements

希望这会有所帮助。

【讨论】:

  • 感谢您的帮助,但仍然无法正常工作。结果相同。 i.imgur.com/YJn43Gl.png这是我得到的。
  • 感谢您的帮助,非常感谢。它工作得非常完美!
猜你喜欢
  • 1970-01-01
  • 2017-10-19
  • 1970-01-01
  • 2012-12-18
  • 1970-01-01
  • 1970-01-01
  • 2011-04-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多