|
/** * @return执行sql语句(Insert、pdate、delete) */ public void execMySQL(String inSQL) throws SQLException { sql = inSQL; util = new DBManager(); conn = util.getConn(); conn.setAutoCommit(false); // .setAutoCommit(false); try { util.getStmt().execute(sql); conn.commit(); } catch (SQLException e) { // TODO Auto-generated catch block conn.rollback(); e.printStackTrace(); } util.close(); } /** * @return执行sql语句(select) */public MyTable execMySQLSelect2(String inSQL) { MyFunc func = new MyFunc(); sql = inSQL; //list = new ArrayList(); util = new DBManager(); MyTable kfse = new MyTable(); String s; int type; int iValue; List rows = new ArrayList(); Integer itg = new Integer(0); BigDecimal ftg = new BigDecimal(0.0); java.sql.Date date; try { rs = util.getStmt().executeQuery(sql); ResultSetMetaData rsmd = rs.getMetaData();//可用于获取关于 ResultSet 对象中列的类型和属性信息的对象 String[] cols = new String[rsmd.getColumnCount()];//rsmd.getColumnCount()返回此 ResultSet 对象中的列数 String[] colsType = new String[rsmd.getColumnCount()]; for (int i = cols.length; i > 0; i--) { cols[i - 1] = rsmd.getColumnName(i);//rsmd.getColumnName(i)获取指定列的名称 colsType[i - 1] = String.valueOf(rsmd.getColumnType(i));//rsmd.getColumnType(i)检索指定列的 SQL 类型 } if (rs != null) { while (rs.next()) { Object[] row = new Object[cols.length]; rows.add(row); for (int i = cols.length; i > 0; i--) { //row[i - 1] = rs.getString(cols[i - 1]); type = rsmd.getColumnType(i); //row[i - 1] = String.valueOf(type); switch (type) {//type数值参照java.sql.types case 1 : row[i - 1] = rs.getString(cols[i - 1]); break; case 2 : ftg = new BigDecimal(0.0); if (rs.getBigDecimal(cols[i - 1]) != null) ftg = rs.getBigDecimal(cols[i - 1]); row[i - 1] = ftg; break; case 3 : ftg = new BigDecimal(0.0); if (rs.getBigDecimal(cols[i - 1]) != null) ftg = rs.getBigDecimal(cols[i - 1]); row[i - 1] = ftg; break; case 4 : //对u24212 数u25454 库u23383 段NTEGER//ok itg = new Integer(rs.getInt(cols[i - 1])); row[i - 1] = itg; break; case 5 : itg = new Integer(rs.getInt(cols[i - 1])); row[i - 1] = itg; break; case 6 : ftg = new BigDecimal(0.0); if (rs.getBigDecimal(cols[i - 1]) != null) ftg = rs.getBigDecimal(cols[i - 1]);
|