GetString nao retorna dado como"String"?

8 respostas
senoritave

Olá , sou iniciante em java, e ja estou com problemas por aqui, pode ser que pra voces seja um errinho besta, mas eu nao estou conseguindo resolver…
Bem vamos lá, tenho um campo ‘char’ chamado (codprod) que armazena caracteres numericos ex : “01006” ,“01009” etc…
Tenho a classe Produto.java que faz a inserção desses dados , até ai a “String” esta sendo inserida normalmente. O Problema é que quando eu tento imprimir essa “string” na tela , o metodo getString(“codprod”) deleta o primeiro 0 da minha String. Alguem sabe porque??

Aqui esta a linha :

out.println("<div id="" + div + “”><a href=“produtos.jsp?cID=”+rst.getString(“codtema”)+"&pID="+rst.getString(“codprod”)+""><img src="/upload/capas/"+rst.getString(“codprod”)+"."+ rst.getString(“ext”)+"" border=“0”>
<span class=tituloH>"+rst.getString(“titulo”)+"
");

Grata

8 Respostas

T

Qual é o tipo da coluna do banco de dados que está sendo usada? Pode ser que essa coluna tenha sido declarada como numérica, não como varchar ou char.

senoritave

Oi,então a coluna esta assim:

codprod` CHAR(10) COLLATE latin1_swedish_ci DEFAULT NULL,

T

Hum… alguém está convertendo a string para um número. Como é a classe Produto?

senoritave
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Calendar;

public class Produto { 
	private String isbn;
	private String codprod;
	private String codtema;
	private String editora;
	private String titulo;
	private String colaborador;
	private String tradutor;
	private String ilustrador;
	private String publicacao;
	private String edicao;
	private String formato;
	private String acabamento;
	private String capa;
	private String peso;
	private String paginas;
	private String preco;
	private String quantidade;
	private String assunto;
	private String sinopse;
	private String indicacao;
	private String sazonalidade;
	private String pastoral;
	private String resumo;
	private String home;
	private String lancamento;
	private String oculto;
	private String ext;
	private String tipo;

	public Produto(String isbn, String codprod, String codtema, String editora, String titulo, String colaborador, String tradutor, String ilustrador, String publicacao, String edicao, String formato, String acabamento, String capa, String peso, String paginas, String preco, String quantidade, String assunto, String sinopse, String indicacao, String sazonalidade, String pastoral, String resumo, String home, String lancamento, String oculto, String ext, String tipo) {
		this.isbn = isbn;
		this.codprod = codprod;
		this.codtema = codtema;
		this.editora = editora;
		this.titulo = titulo;
		this.colaborador = colaborador;
		this.tradutor = tradutor;
		this.ilustrador = ilustrador;
		this.publicacao = publicacao;
		this.edicao = edicao;
		this.formato = formato;
		this.acabamento = acabamento;
		this.capa = capa;
		this.peso = peso;
		this.paginas = paginas;
		this.preco = preco;
		this.quantidade = quantidade;
		this.assunto = assunto;
		this.sinopse = sinopse;
		this.indicacao = indicacao;
		this.sazonalidade = sazonalidade;
		this.pastoral = pastoral;
		this.resumo = resumo;
		this.home = home;
		this.lancamento = lancamento;
		this.oculto = oculto;
		this.ext = ext;
		this.tipo = tipo;
	}
	
	
	public Produto(String codprod, String codtema,String titulo,String preco,String ext, String sinopse){
		  this.codprod = codprod;
		  this.codtema = codtema;
		  this.titulo = titulo;
		  this.preco = preco;
		  this.ext = ext;
		  this.sinopse = sinopse;
		 }
	

	public Produto(String codprod, String titulo, String quantidade,String sinopse){
		this.codprod = codprod;
		this.titulo = titulo;
		this.quantidade = quantidade;
		this.sinopse= sinopse;
	}
	
	public Produto(String isbn, String codprod, String titulo, String quantidade, String home, String lancamento, String oculto){
		this.isbn = isbn;
		this.codprod = codprod;
		this.titulo = titulo;
		this.quantidade = quantidade;
		this.home = home;
		this.lancamento = lancamento;
		this.oculto = oculto;
	}

	public String getAcabamento() {
		return acabamento;
	}

	public String getAssunto() {
		return assunto;
	}

	public String getCapa() {
		return capa;
	}

	public String getCodprod() {
		return codprod;
	}

	public String getCodtema() {
		return codtema;
	}

	public String getColaborador() {
		return colaborador;
	}
	
	public String getIlustrador() {
		return ilustrador;
	}

	public String getEdicao() {
		return edicao;
	}

	public String getEditora() {
		return editora;
	}

	public String getExt() {
		return ext;
	}

	public String getFormato() {
		return formato;
	}

	public String getHome() {
		return home;
	}

	public String getIndicacao() {
		return indicacao;
	}

	public String getIsbn() {
		return isbn;
	}

	public String getLancamento() {
		return lancamento;
	}

	public String getOculto() {
		return oculto;
	}

	public String getPaginas() {
		return paginas;
	}

	public String getPastoral() {
		return pastoral;
	}

	public String getPeso() {
		return peso;
	}

	public String getPreco() {
		return preco;
	}

	public String getPublicacao() {
		return publicacao;
	}

	public String getQuantidade() {
		return quantidade;
	}

	public String getResumo() {
		return resumo;
	}

	public String getSazonalidade() {
		return sazonalidade;
	}

	public String getSinopse() {
		return sinopse;
	}

	public String getTipo() {
		return tipo;
	}

	public String getTitulo() {
		return titulo;
	}

	public String getTradutor() {
		return tradutor;
	}

	public static boolean addProduto(Connection conn, String codigo, String codigoProduto, String tema, String titulo, String colaborador, String tradutor, String ilustrador, String editora, String publicacao, String edicao, String formato, String acabamento, String capa, String peso, String paginas, String preco, String quantidade, String assunto, String sinopse, String indicacao, String sazonalidade, String pastoral, String resumo, String lancamento, String oculto, String home, String extensao, String tipo) throws SQLException{
		boolean ok = false;
		Statement stmt = null;
		ResultSet rst = null;
		try{
			if(conn != null){
				stmt = conn.createStatement();
				rst = stmt.executeQuery("SELECT * FROM LJ_Produtos WHERE codprod=" + Tools.formataDadoString(codigoProduto));
				
				if(!rst.next()){
					stmt.executeUpdate("INSERT INTO LJ_Produtos VALUES(" + Tools.formataDadoString(codigo) + "," + Tools.formataDadoString(codigoProduto) + "," + Tools.formataDadoString(tema) + "," + Tools.formataDadoString(editora) + "," + Tools.formataDadoString(titulo) + "," + Tools.formataDadoString(colaborador) + "," + Tools.formataDadoString(tradutor) + ","+Tools.formataDadoString(ilustrador)+"," + Tools.formataDadoString(publicacao) + "," + Tools.formataDadoString(edicao) + "," + Tools.formataDadoString(formato) + "," + Tools.formataDadoString(acabamento) + "," + Tools.formataDadoString(capa) + "," + Tools.formataDadoString(peso) + "," + Tools.formataDadoString(paginas) + "," + Tools.formataDadoString(preco) + "," + Tools.formataDadoString(quantidade) + "," + Tools.formataDadoString(assunto) + "," + Tools.formataDadoString(sinopse) + "," + Tools.formataDadoString(indicacao) + "," + Tools.formataDadoString(sazonalidade) + "," + Tools.formataDadoString(pastoral) + "," + Tools.formataDadoString(resumo) + "," + Tools.formataDadoString(home) + "," + Tools.formataDadoString(lancamento) + "," + Tools.formataDadoString(oculto) + "," + Tools.formataDadoString(extensao) + "," + Tools.formataDadoString(tipo) + ")");
					ok = true;
				}else{
					ok = false;
				}
			}
		}catch(Exception e){
			Tools.logaMensagem(e,"ERRO","Produto.addProduto()",true);
		}finally{
			if(rst != null){
				rst.close();
				rst = null;
			}
			if(stmt != null){
				stmt.close();
				stmt = null;
			}
		}
		return ok;
	}
T

Como é que é esse método Tools.formataDadoString ?

senoritave

entao, eu verifiquei tb essa função:

public static String formataDadoString(String pstrValor)
    {
        String strRetorno = null;
        
        try
        {
            if (pstrValor != null)
            {
                strRetorno = "'" + pstrValor.replaceAll("'", "''") + "'";
            }
        }
        catch (Exception e) {
            logaMensagem(e, "ERRO", "Tools.formataDadoString", true);
        }
        
        return strRetorno;
    }

mas nao vejo nenhum replace de '0' pra ""
estranho né?

senoritave

Já foi resolvido o problema… Muito obrigado thingol :smiley:

T

Fiquei curioso. Qual era o problema, afinal? Mudaram o tipo da coluna de Number para VARCHAR e não completaram com zeros à esquerda no processo?

Criado 27 de março de 2009
Ultima resposta 27 de mar. de 2009
Respostas 8
Participantes 2