概述做个记录,以后碰到了也可以看看。 public int addUserLog(final UserLog userLog) { if(userLog==null) return -1; if(JdbcUtil.isSybaseIQ){ int key = -1; try{ String dateStr = UserLogUtil.getDateStr(new Date()); String val 做个记录,以后碰到了也可以看看。 public int addUserLog(final UserLog userLog) { if(userLog==null) return -1; if(JdbcUtil.isSybaseIQ){ int key = -1; try{ String dateStr = UserLogUtil.getDateStr(new Date()); String values = userLog.getUserID()+","+userLog.getoperateType()+",'"+ userLog.getDescription()+"','"+dateStr+"'"; final String sql = "insert into ps_user_log (userID,operateType,description,createTime) values("+values+")"; Connection conn = this.getConnection(); Statement objstatement = conn.createStatement(); objstatement .executeUpdate(sql,Statement.RETURN_GENERATED_KEYS); ResultSet objResultSet = objstatement.getGeneratedKeys(); if (objResultSet.next()) { key = objResultSet.getInt(1); } return key; }catch (Exception e) { logger.error("addUserLog error : ",e); e.printstacktrace(); return key; } }else{ try{ final String sql = "insert into ps_user_log (userID,createTime) values(?,?,?)"; PreparedStatementCreator psc = new PreparedStatementCreator() { public PreparedStatement createPreparedStatement(Connection conn) throws sqlException { PreparedStatement ps=JdbcUtil.createPrepareStatement(conn,sql); ps.setInt(1,userLog.getUserID()); ps.setInt(2,userLog.getoperateType()); ps.setString(3,userLog.getDescription()); ps.setDate(4,new java.sql.Date(System.currentTimeMillis())); return ps; } }; KeyHolder kh = new GeneratedKeyHolder(); return getJdbcTemplate().update(psc,kh); }catch(Exception e){ e.printstacktrace(); return -1; } } } 顺便再提一句,sybase
数据库中不能保存Boolean类型的数据,必须转换成int值,sqlserver则可以,但其保存在数据库的值也是按照int型来保存的,1:true 0:false 总结
以上是内存溢出为你收集整理的sqlserver和sybase数据库插入表数据返回主键的不同全部内容,希望文章能够帮你解决sqlserver和sybase数据库插入表数据返回主键的不同所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)