1 12 package org.openbravo.data; 13 14 import java.sql.*; 15 import java.util.Date ; 16 import java.lang.reflect.*; 17 import java.text.SimpleDateFormat ; 18 19 public class UtilSql { 20 21 public boolean GetStringResultSet(ResultSet result, Object sqlObject) 22 { 23 Field f = null; 24 try 25 { 26 ResultSetMetaData rmeta=result.getMetaData(); 27 int numColumns=rmeta.getColumnCount(); 28 29 for(int i=1;i<=numColumns;++i) { 30 String strNombreColumna = rmeta.getColumnName(i); 31 String strFieldName = TransformaNombreColumna(strNombreColumna); 32 f = sqlObject.getClass().getField(strFieldName); 33 f.setAccessible(true); 34 35 36 switch (rmeta.getColumnType(i)) { 37 case 2: f.set(sqlObject, Long.toString(result.getLong(strNombreColumna))); 38 break; 39 case 12: f.set(sqlObject, result.getString(strNombreColumna)); 40 break; 41 case 93: f.set(sqlObject, result.getDate(strNombreColumna)); 42 if(result.wasNull()) 43 f.set(sqlObject, new java.sql.Date (System.currentTimeMillis())); 44 break; 45 } 46 if (result.wasNull()&&rmeta.getColumnType(i)!=93) 47 f.set(sqlObject, ""); 48 49 f.setAccessible(false); 50 } 51 }catch(Exception e){ 52 e.printStackTrace(); 53 return(false); 54 } 55 return(true); 56 } 57 58 public String TransformaNombreColumna(String strColumn){ 59 String strNombreTransformado = ""; 60 Character BarraBaja = new Character ('_'); 61 int intNumCaracteres = strColumn.length(); 62 boolean blnFueBarraBaja = false; 63 for (int i=0; i<intNumCaracteres; i++){ 64 if (i==0) strNombreTransformado = new Character (Character.toUpperCase(strColumn.charAt(i))).toString(); 65 else{ 66 if (new Character (strColumn.charAt(i)).compareTo(BarraBaja) == 0) blnFueBarraBaja = true; 67 else{ 68 if (blnFueBarraBaja){ 69 strNombreTransformado = strNombreTransformado + new Character (Character.toUpperCase(strColumn.charAt(i))).toString(); 70 blnFueBarraBaja = false; 71 } 72 else strNombreTransformado = strNombreTransformado + new Character (Character.toLowerCase(strColumn.charAt(i))).toString(); 73 } 74 } 75 } 76 return(strNombreTransformado); 77 } 78 79 public boolean AsignarValoresEntrada(PreparedStatement ps, int posicion, int tipo, String strValor){ 80 try{ 81 if(strValor!=null) 82 { 83 if(strValor.compareTo("")==0) 84 ps.setNull(posicion, tipo); 85 else 86 { 87 switch (tipo) { 88 case 2: ps.setLong(posicion, Long.valueOf(strValor).longValue()); 89 break; 90 case 12: ps.setString(posicion,strValor); 91 break; 92 } 93 94 } 95 } 96 else 97 ps.setNull(posicion, tipo); 98 }catch(Exception e){ 99 e.printStackTrace(); 100 return(false); 101 } 102 return(true); 103 } 104 105 107 public static boolean setValue(PreparedStatement ps, int posicion, int tipo, String strDefault, String strValor){ 108 try{ 109 if(strValor == null) { 110 strValor = strDefault; 111 } 112 if(strValor!=null) 113 { 114 if(strValor.compareTo("")==0) 115 ps.setNull(posicion, tipo); 116 else 117 { 118 switch (tipo) { 119 case 2: ps.setLong(posicion, Long.valueOf(strValor).longValue()); 120 break; 121 case 12: ps.setString(posicion,strValor); 122 break; 123 case java.sql.Types.LONGVARCHAR: 124 ps.setString(posicion, strValor); 125 break; 126 case 0: ps.setDouble(posicion, Double.valueOf(strValor).doubleValue()); 127 break; 128 } 129 130 } 131 } 132 else 133 ps.setNull(posicion, tipo); 134 }catch(Exception e){ 135 e.printStackTrace(); 136 return(false); 137 } 138 return(true); 139 } 140 141 public static String getValue(ResultSet result, String strField) throws java.sql.SQLException { 142 String strValueReturn = result.getString(strField); 143 if (result.wasNull()) strValueReturn = ""; 144 return strValueReturn; 145 } 146 147 public static String getValue(ResultSet result, int pos) throws java.sql.SQLException { 148 String strValueReturn = result.getString(pos); 149 if (result.wasNull()) strValueReturn = ""; 150 return strValueReturn; 151 } 152 153 public static String getDateValue(ResultSet result, String strField, String strDateFormat) throws java.sql.SQLException { 154 String strValueReturn; 156 Date date = result.getDate(strField); 157 if (result.wasNull()) { 158 strValueReturn = ""; 159 } else { 160 SimpleDateFormat formatter = new SimpleDateFormat (strDateFormat); 162 strValueReturn = formatter.format(date); 163 } 164 return strValueReturn; 165 } 166 167 public static String getDateValue(ResultSet result, String strField) throws java.sql.SQLException { 168 return getDateValue(result, strField, "dd-MM-yyyy"); 169 } 170 171 public static String getBlobValue(ResultSet result, String strField) throws java.sql.SQLException { 172 String strValueReturn = ""; 173 Blob blob = result.getBlob(strField); 174 if (result.wasNull()) { 175 strValueReturn = ""; 176 } else { 177 int length = (int)blob.length(); 178 if (length > 0) strValueReturn = new String (blob.getBytes(1, length)); 179 } 180 return strValueReturn; 181 } 182 183 public static String getStringCallableStatement(CallableStatement cs, int intField) throws java.sql.SQLException { 184 String strValueReturn = cs.getString(intField); 185 if (strValueReturn == null) strValueReturn = ""; 186 return strValueReturn; 187 } 188 } 189 | Popular Tags |