Conversão de dados do Banco de Dados

12 respostas
N

Olá pessoal do GUJ, estou com um probleminha. Quem ai sabe como converter um dado inteiro do Banco de dados SQLServer 2005 para String. Queria saber se a conversão tem que ser feita na classe de conexão ou aonde.

12 Respostas

N

UP

N

:frowning: :!: UP!!! Alguem ai sabe fazer?

Andre_Rosa

Você quer fazer este cast dentro do banco de dados ou na aplicação?

N

Na aplicação

Andre_Rosa

Isso é simples. Por exemplo:

int integerVar = 0; String strVar = Integer.toString(integerVar); System.out.println(strVar);

N
Não é so na aplicação. O dado no Banco é inteiro, e quero usa-lo como string. Tenho uma classe que faz a conexão com o banco e outra que faz a consulta.
public void consulta_sequencia() throws SQLException{
        conexao conecta=new conexao();
        conecta.abre();   //método para abrir conexão com o banco de dados
        String query = "SELECT Cli_For.Codigo, Cli_For.Fisica_Juridica, Cli_For.Nome, Cli_For.Fantasia, Cli_For.Endereco, Cli_For.Bairro, Cli_For.Cidade, Cli_For.Estado, Cli_For.CEP, Cli_For.CNPJ, Cli_For.Inscricao, Cli_For.Inscricao_Municipal, Cli_For.Fone_1, Cli_For.Fone_2, Cli_For.email, Produtos.Codigo,Produtos.Nome, Produtos.Pesquisa_1, Saidas_Series.Serie,Saidas.Filial, Saidas.Data, Saidas.Vendedor1, Saidas.NFe, Saidas_Produtos.Preco_Final,Saidas_Produtos.Linha"
                + "FROM ((Saidas_Produtos join Produtos ON Saidas_Produtos.Codigo = Produtos.Codigo) join (Saidas join Cli_For ON Saidas.Cliente = Cli_For.Codigo) ON (Saidas_Produtos.Filial = Saidas.Filial) AND (Saidas_Produtos.Sequencia = Saidas.Sequencia)) join Saidas_Series ON (Saidas_Series.Filial = Saidas_Produtos.Filial) AND (Saidas_Produtos.Linha = Saidas_Series.Linha) AND (Saidas_Produtos.Sequencia = Saidas_Series.Sequencia)"
                + " WHERE Saidas.Sequencia='"+this.getSequencia()+"' AND Saidas_Series.Sequencia='"+this.getSequencia()+"' AND Saidas.Filial='"+this.getNum_filial()+"' AND Saidas_Produtos.Filial='"+this.getNum_filial()+"' AND Saidas_Produtos.Linha='"+this.getLinha()+"' AND Saidas_Series.Linha='"+this.getLinha()+"'";
        conecta.consulta(query);
        conecta.resultado.next();
        //dados do cliente que vem do banco        
        this.setCodigo_cliente(conecta.resultado.getString("Cli_For.Codigo"));
        this.setNome_cliente(conecta.resultado.getString("Cli_For.Nome"));
        this.setCnpj_cliente(conecta.resultado.getString("Cli_For.CNPJ"));
        this.setInscricao_cliente(conecta.resultado.getString("Cli_For.Inscricao"));
        this.setInscricao_municipal_cliente(conecta.resultado.getString("Cli_For.Inscricao_Municipal"));
        this.setEndereco_cliente(conecta.resultado.getString("Cli_For.Endereco"));
        this.setBairro_cliente(conecta.resultado.getString("Cli_For.Bairro"));
Alguns destes valores são inteiros no banco, e quando vou utilizar o gettext no formulario de cadastro, ele me indica que não pode receber inteiro.
N

Corrigindo - o primeiro getString é do campo Cli_For.Codigo, que é um inteiro no banco

Andre_Rosa

//casting String str = Integer.toString(this.setCodigo_cliente(conecta.resultado.getInteger("Cli_For.Codigo")));

Daí você trabalha na String e, se for enviar de volta para o banco, converte de volta para inteiro.

N

Valeu, vou tentar aqui.

drsmachado

Camarada, isso não ajuda em nada.
Assim como você tem urgência em encontrar a resposta, os demais foristas possuem suas vidas, podem demorar a responder por n motivos.
Se já postou, prossiga pesquisando e aguarde, dificilmente não terá resposta.

Segundo, a pergunta não tem nada a ver com java avançado, o correto seria o fórum de persistência. Acredito que a resposta teria vindo mais rápido.

São dicas que podem parecer inúteis, mas ao longo do tempo, você verá que são de grande valia.

Terceiro, todo objeto possui o método toString, mesmo que ele imprima algo que não é possível ler.
No caso de primitivos (boolean, int, long, char, etc) você pode usar a classe Wrapper correspondente (Boolean, Integer, Long, Character, etc) e, então, invocar o método toString.

N

Só um problema. Na consulta aparece um erro => Incorrect syntax near th keyword ‘INNER’. A sintaxe não deveria ser INNER JOIN? Alguem me dá uma luz :expressionless:

N

iiiiii, desculpas pra todos do GUJ. Pensei mais em mim que em voces. Como vc disse, com o tempo agente vai aprendendo. Valeu pelas dicas.

Criado 3 de outubro de 2011
Ultima resposta 3 de out. de 2011
Respostas 12
Participantes 3