应该是pstmt=cn.preparestatement("语句");

解决方案 »

  1.   

    "update SPXX set SP_NAME=? where SP_ID=?"这句不就行了嘛
    干嘛还要弄得那么麻烦.我更晕.我刚注意到.居然也是做跟税务相关的..
      

  2.   

    用pstmt,pstmt1应该是对的,
    pstmt=conn.prepareStatement("delete from SPXX where SP_ID=?");
    pstmt.setString(1,SP_ID);pstmt1=conn.prepareStatement("insert into SPXX(SP_NAME,SP_ID) values(?,?)" );
    pstmt1.setString(1,SP_NAME);
    pstmt1.setString(2,SP_ID);pstmt.executeUpdate();
    pstmt1.executeUpdate();
    不过楼主如果用oracle数据库,应该用
    try{
    conn.setAutoCommit(false);
    pstmt=conn.prepareStatement("delete from SPXX where SP_ID=?");
    pstmt.setString(1,SP_ID);
    pstmt.addBatch();pstmt1=conn.prepareStatement("insert into SPXX(SP_NAME,SP_ID) values(?,?)" );
    pstmt1.setString(1,SP_NAME);
    pstmt1.setString(2,SP_ID);
    pstmt1.addBatch();pstmt.executeBatch();
    pstmt1.executeBatch();
    conn.commit();
    }catch(...){
       conn.rollback();
    }finally{
     关闭...
    }
      

  3.   

    要是用批操作的话pstmt.execute("delete from SPXX where SP_ID=?");
    pstmt.setString(1,SP_ID);
    pstmt.addBatch();pstmt.execute("insert into SPXX(SP_NAME,SP_ID) values(?,?)" );
    pstmt.setString(1,SP_NAME);
    pstmt.setString(2,SP_ID);
    pstmt.addBatch();pstmt.executeBatch();
      

  4.   

    肯定是oracle.做税务的其他数据库撑不起.
      

  5.   

    本应该用  update的但是...我说的不算 还是要先delete 再 insert
      

  6.   

    呵呵! 是sybase本来就速度慢
    所以修改数据全部是这样实现的
      

  7.   

    那就用
    pstmt.execute("delete from SPXX where SP_ID=?");
    pstmt.setString(1,SP_ID);
    pstmt.executeUpdate();
    //最好加上1句
    pstmt.close();
    然后
    pstmt.execute("insert into SPXX(SP_NAME,SP_ID) values(?,?)" );
    pstmt.setString(1,SP_NAME);
    pstmt.setString(2,SP_ID);
    pstmt.executeUpdate();
      

  8.   

    我想你是想问一个PreparedStatement实例可否执行多条SQL语句吧,应该可以的,不用像那样定义两个对象,你自己写个小程序一试不就知道了。
      

  9.   


    那个省的税局项目?居然拿Sybase做数据库.
      

  10.   

    我用preparedstatement处理过几千条批插入数据.
      

  11.   

    sybase不了解,应该支持事物回滚的.
    可惜mysql就不支持,还要设置什么很麻烦.
    另外,楼上的,只定义一个PreparedStatement对象好吗?
    我一直没这样做~~觉得还是定义两个对象的好
      

  12.   

    回复人: fengsuizhuyin(阿勇) ( ) 信誉:100 
    我想你是想问一个PreparedStatement实例可否执行多条SQL语句吧,应该可以的,不用像那样定义两个对象,你自己写个小程序一试不就知道了
    恩!是的,我就是这个意思不知道行不行  所以才来发贴子问问地
      

  13.   

    没关系
    无非就是游标限制而已.
    多定义PreparedStatement是没意义的.
      

  14.   

    问一个PreparedStatement实例可否执行多条SQL语句,应该可以的拜托,你试过没有
      

  15.   

    肯定可以的
    但java.sql.statement stmt = conn.createStatement();// 就不一定了不同数据库的JDBC可能不支持也说不定这方面得查看类库了解相关信息