Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/09/2016, 22:15
Avatar de detective_jd
detective_jd
 
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años
Puntos: 6
Automatizar SQL con DatabaseMetaData

Hola a todos, quería hacerles una consulta resulta que estoy tratando de automatizar las consultas sql con DatabaseMetaData digamos que con los insert, update, delete y selectxId no estoy teniendo problemas con un select genérico que quiero automatizar los inner join no sé cómo lo puedo encarar xq los campos y los where los puedo hacer, pero los inner me complican tanto que no sé cómo seguir.

Acá pongo el código:

Código Java:
Ver original
  1. public String select(String[] cols, String[] tables, String[] where){
  2. String Consulta = "select ";
  3. if(cols == null){
  4. Consulta += "* ";
  5. } else {
  6. for(String c : cols){
  7. Consulta += c;
  8. if(!cols[cols.length -1].equals(c)){
  9. Consulta += ",";
  10. } else {
  11. Consulta += " ";
  12. }
  13. }
  14. }
  15. Consulta += "from " + this.getTable();
  16. if(tables != null){
  17. char primera = this.getTable().charAt(0);
  18. char prox;
  19. Consulta += " " + primera + " ";
  20. for(String t : tables){
  21. Consulta += "inner join " + t + " on ";
  22. if(!tables[tables.length -1].equals(t)){
  23. Consulta += ",";
  24. } else {
  25. Consulta += " ";
  26. }
  27. }
  28. }
  29. if(where != null){
  30. Consulta += " where ";
  31. for(String w : where){
  32. Consulta += w + " = ?";
  33. if(!where[where.length -1].equals(w)){
  34. Consulta += " and ";
  35. }
  36. }
  37. }
  38. return Consulta;
  39. }

Espero sus respuestas y saludos.