//装载驱动程序
   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
  
   //创建连接
    Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=sp","sp","sp");
   //创建执行语句。
   //===========================使用PreparedStatement========//
    ResultSet rs = null;

  Statement stmt=con.createStatement();
   Statement stmt1=con.createStatement();
 
    rs = stmt.executeQuery("Select * From sp where UserID='"+UserID+"'"); 
while (rs.next()){
 String tag= rs.getString("tag");
String ord= rs.getString("ord");
 stmt1.execute("insert into od(userid,ord) values('"+UserID+"','"+ord+"')");

解决方案 »

  1.   

    stmt1.execute("insert into od(userid,ord) values('"+UserID+"','"+ord+"')");
    改成stmt.execute("insert into od(userid,ord) values('"+UserID+"','"+ord+"')");
      

  2.   

    改了还是一样的错误跟踪发现 程序没运行到insert语句!
      

  3.   

    stmt1.execute("insert into od(userid,ord) values,这里错了
    不该再用原来的stmt了,你再新增个,然后用它来做insert操作.
      

  4.   

    我已经定义了1个 stmt和stmt1 啊!后面insert是用stmt1(就是新增的)
      

  5.   

    stmt1.execute("insert into od(userid,ord) values('"+UserID+"','"+ord+"')");
    改為:
    stmt1.executeUpdate("insert into od(userid,ord) values('"+UserID+"','"+ord+"')");試試。或者改為:stmt1.executeQuery("insert into od(userid,ord) values('"+UserID+"','"+ord+"')");
    試試 ̄!