staticStringFILTRO="*";//Filtragem a ser usada nas consultasstaticStringTABELA=" CLIENTES";//Tabela que será consultadastaticStringREFINAMENTO="";//O refinamento dos registros "where"staticStringORDEM=" order by NOME";//Ordenação por determinado campostaticStringCONSULTA="select "+FILTRO+" from"+TABELA+REFINAMENTO+ORDEM;
Como eu faço pra, toda vez que uma das 4 primeiras Strings forem atualizadas, a última(que é composta pelas 4) tambem ser atualizada?
bom, se eu entendi a sua pergunta, é só tirar o static da última String
aborges
Strings sao imutiveis... Depois de criadas "baubau"
Vc soh conseguirá atualizar o valor da mesma fazendo ela receber os outros valores novamente:
staticStringFILTRO="*";//Filtragem a ser usada nas consultasstaticStringTABELA=" CLIENTES";//Tabela que será consultadastaticStringREFINAMENTO="";//O refinamento dos registros "where"staticStringORDEM=" order by NOME";//Ordenação por determinado campostaticStringCONSULTA="select "+FILTRO+" from"+TABELA+REFINAMENTO+ORDEM;System.out.println(CONSULTA);//select * from CLIENTES order by NOMETABELA="CIDADE";System.out.println(CONSULTA);//select * from CLIENTES order by NOMECONSULTA="select "+FILTRO+" from"+TABELA+REFINAMENTO+ORDEM;System.out.println(CONSULTA);//select * from CIDADE order by NOME
T
tyrael
Nao acredito…
Se no CLIPPER tem uma funcção lá (acho que é um macro) que voce faz ela se atualizar em CONSULTA toda vez que receber um novo valor, como que o Java nao tem?
aborges
Como eu lhe disse, Strings são imutaveis!
Pq vc nao faz uma Classe assim:
public class MontaConsulta{
public static String FILTRO = "*";
public static String TABELA = " CLIENTES";
public static String REFINAMENTO = "";"where"
public static String ORDEM = " order by NOME";
public static String getConsulta(){
return "select "+FILTRO+" from"+TABELA+REFINAMENTO+ORDEM;
}
}
kuchma
tyrael:
Nao acredito…
Se no CLIPPER tem uma funcção lá (acho que é um macro) que voce faz ela se atualizar em CONSULTA toda vez que receber um novo valor, como que o Java nao tem?
Exatamente. Se tem uma funcao ou macro que faz isso, basta voce fazer a mesma coisa da forma que o aborges mostrou, criando um metodo getConsulta() por exemplo, que retorna os dados atualizados.
De outra forma seria como se a string tivesse uma parte contendo dados e outra parte sendo um ponteiro para outra string. Meio estranho.
Marcio Kuchma
Ironlynx
E para quê essa stringficação toda?As consultas são pequenas?Se é necessário sincronismo,use um StringBuffer,se não é,use um StringBuilder.Aí é só ir dando um append para adicionar mais dados,além de deixar sua heap feliz da vida.