Adicionar dados, mas usando interface gráfica

4 respostas
R

Olá a todos, recem chegado no forum! conhecendo agora aqui :)

Gostaria de uma ajudinha

Eu tenho a minha classe CadFornecedorDao e a AdicionaFornecedor

E estou com um problema faz tempo
tenho campos do tipo int, e eu adiciono os dados de boa, mas ai quando tento fazer com interface grafica nao estou achando jeito
do jeito que esta o stmt.setInt(7, f1.getNumero()); eu queria colocar na interface

lembrando: CadFornecedorDao e a AdicionaFornecedor funciona beleza! mas o com interface nao estou sabendo manipular direito ai

CadFornecedorDao
//Adicionar
    public void adiciona(CadFornecedor f1) throws SQLException
    {
        //Prepara a conexão
        String sql = "INSERT INTO cad_fornecedores (razao_social,nome_fantasia,cnpj,"+
                    "ie,im,logradouro,numero,complemento,estado,cep,bairro," +
                    "cidade,ddd_com,tel_com,ddd_res,tel_res,ddd_cel,celular," +
                    "pag_web,email,observacoes)"+
                    "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
        PreparedStatement stmt = conexao.prepareStatement(sql);

        //Preenche os valores
        stmt.setString(1, f1.getRazao_social());
        stmt.setString(2, f1.getNome_fantasia());
        stmt.setString(3, f1.getCnpj());
        stmt.setString(4, f1.getIe());
        stmt.setString(5, f1.getIm());
        stmt.setString(6, f1.getLogradouro());
        stmt.setInt(7, f1.getNumero());
        stmt.setString(8, f1.getComplemento());
        stmt.setString(9, f1.getEstado());
        stmt.setString(10, f1.getCep());
        stmt.setString(11, f1.getBairro());
        stmt.setString(12, f1.getCidade());
        stmt.setInt(13, f1.getDdd_com());
        stmt.setString(14, f1.getTel_com());
        stmt.setInt(15, f1.getDdd_res());
        stmt.setString(16, f1.getTel_res());
        stmt.setInt(17, f1.getDdd_cel());
        stmt.setString(18, f1.getCelular());
        stmt.setString(19, f1.getPag_web());
        stmt.setString(20, f1.getEmail());
        stmt.setString(21, f1.getObservacoes());

        //Executa e fecha
        stmt.execute();
        stmt.close();
    }
AdicionaFornecedor
public class AdicionaFornecedor {

        public static void main(String[] args) throws SQLException
        {
            //Adiciona um novo fornecedor
            CadFornecedor fornecedor = new CadFornecedor();
            fornecedor.setRazao_social("Razao social");
            fornecedor.setNome_fantasia("Nome fantasia");
            fornecedor.setCnpj("123456789");
            fornecedor.setIe("12345");
            fornecedor.setIm("12334");
            fornecedor.setLogradouro("1239");
            fornecedor.setNumero(445);
            fornecedor.setComplemento(null);
            fornecedor.setEstado(null);
            fornecedor.setCep(null);
            fornecedor.setBairro(null);
            fornecedor.setCidade(null);
            fornecedor.setDdd_com(35);
            fornecedor.setTel_com(null);
            fornecedor.setDdd_res(35);
            fornecedor.setTel_res(null);
            fornecedor.setDdd_cel(35);
            fornecedor.setCelular(null);
            fornecedor.setPag_web(null);
            fornecedor.setEmail(null);
            fornecedor.setObservacoes(null);

            CadFornecedorDao dao = new CadFornecedorDao();
            dao.adiciona(fornecedor);
            JOptionPane.showMessageDialog(null, "Fornecedor adicionado com sucesso!");
        }
}
Com interface gráfica
try
        {
            CadFornecedor f1 = new CadFornecedor();
            f1.setRazao_social(txtRazaoSocial.getText());
            f1.setNome_fantasia(txtNomeFantasia.getText());
            f1.setCnpj(txtCnpj.getText());
            f1.setIe(txtIE.getText());
            f1.setIm(txtIM.getText());
            f1.setLogradouro(txtLogradouro.getText());
            //int numero = Integer.parseInt(txtNumero.getText());
            //f1.setNumero(numero);
            f1.setComplemento(txtComplemento.getText());
            f1.setEstado((String) cbEstado.getSelectedItem());
            f1.setCep(txtCEP.getText());
            f1.setBairro(txtBairro.getText());
            f1.setCidade(txtCidade.getText());
            //int ddd_dom = Integer.parseInt(txtDDDCom.getText());
            //f1.setDdd_com(ddd_dom);
            f1.setTel_com(txtTelComercial.getText());
            //int ddd_res = Integer.parseInt(txtDDDRes.getText());
            //f1.setDdd_res(ddd_res);
            f1.setTel_res(txtTelResidencial.getText());
            //int ddd_cel = Integer.parseInt(txtDDDCel.getText());
            //f1.setDdd_cel(ddd_cel);
            f1.setCelular(txtCelular.getText());
            f1.setPag_web(txtPagWeb.getText());
            f1.setEmail(txtEmail.getText());
            f1.setObservacoes(txtObservacoes.getText());

            CadFornecedorDao dao = new CadFornecedorDao();
            dao.adiciona(f1);

        }
        catch (SQLException ex)
        {
            JOptionPane.showMessageDialog(null, "Erro ao adicionar o fornecedor");
        }

se eu uso f1.setNumero(txtNumero.getText());
nao da certo, mesmo na minha classe CadFornecedor este numero esta como int

4 Respostas

J

beleza rafa120, não entendi muito bem está dando erro de conversão de tipo ou você está sabendo passar os dados do seu formulário para o método?

R

Então, to achando que eu falei mto, mas nao deixei claro

Resumindo: Eu quero saber como eu faço um JTextField receber valores, tanto int, date quanto string

J

Tenta isso no teu código. Para data é mais interessante um JTextField formatado corretamente.

String texto = tf.getText(); 
Integer i = new Integer(tf.getText());              
Double d = new Double(tf.getText());
int n = Integer.parseInt(tf.getText());
float f = Float.parseFloat(tf.getText());
R

Entao, coloquei

Integer i = new Integer(txtNumero.getText());
f1.setNumero(i);

Executou, mas ai fica dando o erro que ja vem dando comigo. o erro que o campo esta esperando uma string “”
java.lang.NumberFormatException: For input string: “”

ai se eu coloco um valor la, ai grava … é claro
mas e se eu nao quiser colocar nada?

ai no caso eu teria que fazer um if, ai funciona!
mas ai que esta, acho isso uma gambiarra, eu usava um metodo sem o preparedstatement, dai me falaram pra usar o prepared que eu nao iria ter estes problemas… mas nao eh oq esta acontecendo

Criado 14 de janeiro de 2010
Ultima resposta 15 de jan. de 2010
Respostas 4
Participantes 2