Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**** para utilizar a função faço da seguinte forma ****/
- /** FALTA IMPLEMENTAR TRATAMENTO COM DATA **/
- User_DTO dadosPesquisa = new User_DTO();
- dadosPesquisa.id = 1;
- dadosPesquisa.nome = "TESTE";
- public static String retornaWhere(String nomeTabela, ADPB020_DTO dadosPesquisa)
- {
- String result = "";
- Class classe = dadosPesquisa.getClass();
- Field[] fields = classe.getDeclaredFields();
- for (int i=0; i<fields.length; i++)
- {
- try
- {
- if (fields[i].get(dadosPesquisa) != null)
- {
- if (fields[i].getType().equals(String.class))
- {
- if (!fields[i].get(dadosPesquisa).toString().equals("") && fields[i].get(dadosPesquisa).toString().length() > 0)
- {
- if (!result.equals("") && result.length() > 0)
- result += " AND " + retornaTabela(nomeTabela, fields[i].getName()) + " LIKE '%" + fields[i].get(dadosPesquisa) + "%' ";
- else
- result = "WHERE " + retornaTabela(nomeTabela, fields[i].getName()) + " LIKE '%" + fields[i].get(dadosPesquisa) + "%' ";
- }
- }
- else
- if (fields[i].getType().equals(Integer.class) || fields[i].getType().equals(int.class))
- {
- if ((Integer)fields[i].get(dadosPesquisa) > 0)
- {
- if (!result.equals("") && result.length() > 0)
- result += " AND " + retornaTabela(nomeTabela, fields[i].getName()) + " = " + fields[i].get(dadosPesquisa);
- else
- result = "WHERE " + retornaTabela(nomeTabela, fields[i].getName()) + " = " + fields[i].get(dadosPesquisa);
- }
- }
- else
- if (fields[i].getType().equals(Date.class))
- {
- }
- }
- }
- catch(Exception e)
- {
- JOptionPane.showMessageDialog(null, "Erro gerar instrução WHERE da tabela " + nomeTabela + ": " + e);
- e.printStackTrace();
- }
- }
- return result;
- }
- public static String retornaTabela(String nomeTabela, String nomeCampo)
- {
- String result = "";
- if (nomeCampo.length() > 8)
- {
- if (nomeCampo.substring(7, 8).equals("_"))
- result = nomeCampo.replace("_", ".");
- else
- result = nomeTabela + "." + nomeCampo;
- }
- else
- result = nomeTabela + "." + nomeCampo;
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment