try {
  String filename="D:\\TempData1.txt"; 
  FileInputStream str=new FileInputStream(filename); 
  filename = "D:\\TempData2.txt";
  FileInputStream str1 = new FileInputStream(filename);
      PreparedStatement pstmt = con.prepareStatement("{call dbo.S_submit(?,?,?,?)}");
      pstmt.setString(1, num.getText());
      pstmt.setString(2, "1");
      pstmt.setBinaryStream(3, str);
      pstmt.setBinaryStream(4, str1);
      //pstmt.execute();
      //ResultSet rs = pstmt.executeQuery();
      //rs.close();
      pstmt.close();
   }
   catch (Exception e) {
      e.printStackTrace();
    }

解决方案 »

  1.   

    存储过程用
    con.prepareCall
      

  2.   

    pstmt.executeUpdate();试试呢,
    应该是哪儿的小问题。
      

  3.   

    用了,有异常,说是COUNT字段不正确或语法错误
      

  4.   

    你这个程序过程中:S_submit 是不是有count关键字,可能你把这个关键字当变量用了吧。
      

  5.   

    没有的,创建存储过程的代码是:
    CREATE PROCEDURE S_submit (@A_Sno Varchar(10),@A_Pno Varchar(10),@A_XAnwser Varbinary(max),
    @A_JAnwser Varbinary(max) )
    AS
    insert into Anwser(Sno,Pno,ADATA,XAnwser,JAnwser)
    values(@A_Sno,@A_Pno,NEWID(),@A_XAnwser,@A_JAnwser)
      

  6.   

    用 pstmt.executeUpdate();或者pstmt.executeUpdate();传入的参数再debug下