String patchno = request.getParameter("pac");
String appprov = requestgetParameter("province");
String apptime = requestgetParameter("apptime");
String developer = requestgetParameter("dvp");
String describe = requestgetParameter("dscrb");
String instruction = requestgetParameter("instruction");
String questionno = requestgetParameter("questions_use_patch");Connection conn = null;
Statement stmt = null;
String sql = "INSERT INTO HRDF_PATCH(PK_HRDF_PATCH,PATCH_PROVINCE,FUNC_DESCRIPTION,TS,PATCH_DEVELOPERS,QUESTIONS_USE_PATCH,PATCH_INSTRUCTION) VALUES("+patchno+","+appprov+","+describe+","+apptime+","+developer+","+questionno+","+instruction+")";
//ResultSet rs = null;
try {
  conn = DBConnection.getConnection();
      stmt = conn.createStatement();   
//执行增加记录操作:
      stmt.executeUpdate(sql);   
      conn.commit();     
      }catch(Exception e){e.printStackTrace();}
      finally{
if(stmt!=null) stmt.close();
if(conn!=null) conn.close();
}
程序能运行,但就是插不进数据,也不报异常,各位大侠,这是为什么啊?小弟求教了。  

解决方案 »

  1.   

    在stmt.executeUpdate(sql);处设个断点,debug一下
      

  2.   

    你这个肯定不对的嘛,如果是拼接 SQL 的话,字符串的 VARCHAR2 类型两边要加上单引号的。极其不建议使用这种拼接 SQL 的方法,如果要坚持这样做的话,我敢保证加上单引号你不用五分钟就会晕掉。
      

  3.   


    楼上说的是是对的
    加上单引号后插入成功如果不建议使用这种拼接 SQL 的方法,那还有什么好方法?(hibernate等除外)
      

  4.   

    用PreparedStatement pstmt=null;
    sql="INSERT INTO HRDF_PATCH(PK_HRDF_PATCH,PATCH_PROVINCE,FUNC_DESCRIPTION,TS,PATCH_DEVELOPERS,QUESTIONS_USE_PATCH,PATCH_INSTRUCTION) VALUES(?,?,?,?,?,?)";
    psmt=conn.prepareStatement(sql);
    pstmt.set.......
    pstmt.executeUpdate() ;
      

  5.   

    varchar字段插入时好像没加单引号