Como transformar um array char para um campo varchar de banco de dados?

9 respostas
S

Pessoal,

Tenho uma chasse que me devolve um char[] e gostaria de pela-lo e gravar em um banco de dados Oracle cujo tipo é varchar, como posso fazer esta transformação ?
:?

9 Respostas

foia
.....

char data[] = {'a', 'b', 'c'};
String str = new String(data);

...

be happy :mrgreen:

S

Neste caso ele iria passar somente a quantidade de bytes que tiverem informações, não perderia nenhum byte ?

foia

byte não, char !
mas se você perde char ou não, acredito que não, mas é melhor testar. :mrgreen:

pode usar String.toCharArray() e comparar os char[].

S

Ok, mas gostaria de ver se vc pode me ajudar em outro problema que ocorreu ao precisar transformar este campo para array: É o seguinte, quando tento pegar este campo dentro de ResultSet ele dize que o tipo esta errado, e com certeza esta pois mudei para um array, como faço para pegar a coluna? Segue um pedaço da 2 classes:

Classe - Funcionario.
public void setDescricaoDigital(char[] descricaoDigital) {		
		this.descricaoDigital = new String (descricaoDigital);
	}

Aqui funcionou legal o array...ainda não consegui ver se perde informações, mas quando vou chamar na aplicaçao DAO tenho problema, com fazer para chamar esta coluna ?

if (rs.next()) {digitalFuncionario.setDescricaoDigital(rs.getString("ds_digital"));  				 
 				
 	 			}
foia
if (rs.next()) {digitalFuncionario.setDescricaoDigital(rs.getString("ds_digital").toCharArray());  				 
  				
  	 			}

use o toCharArray do post anterior. :mrgreen:

S

Beleza, vou colocar e testar.

Obr.
:smiley:

S

puxa vida, embolei tudo o meio de campo aqui…na realidade o array é de byte e não char, existe comando para fazer esta tranformação como existe para char ?

foia

existir existe. só que você vai ter que tratar o charset, que é outra longa história.

javadoc é teu amigo.
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html

S

Ok, muito obrigado

Criado 26 de julho de 2005
Ultima resposta 26 de jul. de 2005
Respostas 9
Participantes 2