CallableStatement为空,是生成的对象的问题。光看你的程序无法搞清你的问题,也有可能是数据库连接有问题

解决方案 »

  1.   

    co表 肯定已经创建了
    而且执行
    String update="update co set name=? where id=?";
    PreparedStatement ps=con.prepareStatement(update);
    ps.setInt(1,8);
    ps.setInt(2,6);
    ps.executeUpdate();
    好使,也没有上面的错误请大家帮忙了
      

  2.   

    是的,开头的程序是这样的
    import java.sql.*;
    class jdbc{
      public static void main(String arg[]){
        String url="jdbc:odbc:LocalServer";
        try{
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          Connection con=DriverManager.getConnection(url,"sa","sa");
       
      

  3.   

    把:CallableStatement cs=con.prepareCall("{call bbb (?)}");
    该成:CallableStatement cs=con.prepareCall("{call bbb (?,?)}");
      

  4.   

    对, shi_yingbo() 说的不错,向你学习!
      

  5.   

    看来高手就是高手阿,shi_yingbo!!
    不过,CallableStatement cs=con.prepareCall("{call bbb (?)}");
    是我的失误造成的
    那么为什么
    该成:CallableStatement cs=con.prepareCall("{call bbb}");
    也不好使呢
    老兄,小弟会按照你的要求给分的,随便要吧
      

  6.   

    看来高手就是高手阿,shi_yingbo!!
    不过,CallableStatement cs=con.prepareCall("{call bbb (?)}");
    是我的失误造成的
    那么为什么
    该成:CallableStatement cs=con.prepareCall("{call bbb}");
    也不好使呢
    我把存储过程改成
    CREATE PROCEDURE aaa @a integer,@b integer,@c integer
    AS
    insert into co values(@a,@b,@c)
    然后,程序也改为
    CallableStatement cs=con.prepareCall("{call aaa(?,?,?)}");
    cs.setInt(1,5);
    cs.setInt(2,6);
    cs.setInt(3,6);
    调试的时候,是没有毛病了,可是数据库里头没有加进去数据,这是为什么呢???
    还得需要大家的帮忙