Atualizar String. URGENTE!

6 respostas
T

Pessoal,

static String FILTRO = "*"; //Filtragem a ser usada nas consultas
static String TABELA = " CLIENTES"; //Tabela que será consultada
static String REFINAMENTO = ""; //O refinamento dos registros "where"
static String ORDEM = " order by NOME"; //Ordenação por       determinado campo
static String CONSULTA = "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?

Valeu!

F. Lemos

6 Respostas

Rodrigo_Vieira_Pinto

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:

static String FILTRO = "*"; //Filtragem a ser usada nas consultas
static String TABELA = " CLIENTES"; //Tabela que será consultada
static String REFINAMENTO = ""; //O refinamento dos registros "where"
static String ORDEM = " order by NOME"; //Ordenação por determinado campo
static String CONSULTA = "select "+FILTRO+" from"+TABELA+REFINAMENTO+ORDEM; 

System.out.println(CONSULTA);  //select * from CLIENTES order by NOME
TABELA = "CIDADE";
System.out.println(CONSULTA);  //select * from CLIENTES order by NOME
CONSULTA = "select "+FILTRO+" from"+TABELA+REFINAMENTO+ORDEM;
System.out.println(CONSULTA);  //select * from CIDADE order by NOME
T

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. :smiley:

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. :wink:

Criado 8 de dezembro de 2004
Ultima resposta 8 de dez. de 2004
Respostas 6
Participantes 5