Dados / Banco de Dados

3 respostas
syncel

Bom dia a todos, sou novo na área de programação, e estou fazendo um projeto para a faculdade...
Fiz a conexão com o Banco de Dados Postgre tudo certo, mais de algum modo, os dados não são salvos..
Desculpe mais sou leigo nesse assunto, quem puder ajudar... eu agradeço... segue os códigos e erros...

private void but_gravarActionPerformed(java.awt.event.ActionEvent evt) {                                           
try
{
    String sqlinsert ="insert into cad_cliente (nome,endereco,estado,cidade,cep,telefone,celular,observacoes) values "
            + "('"+ txt_nome.getText()+"','"+ cb_est.getSelectedItem()+"','"+ txt_end.getText()+"','"+ txt_cid.getText()
            +"','"+ ftxt_cep.getText()+"','"+ txt_tel.getText()+"','"+ txt_cel.getText()+"','"+ txt_obs.getText()+"')";
    cliente_con.statement.executeUpdate(sqlinsert);
    JOptionPane.showMessageDialog(null, "Gravação realizada com sucesso!");
    
    cliente_con.resultset = cliente_con.statement.executeQuery("select * from cad_cliente");
    cliente_con.resultset.first();
}
catch (SQLException error)
{
    JOptionPane.showMessageDialog(null,"Erro ao tentar Gravar o registro..."+error);

Ao clicar para criar um novo DADO, preencho todos os campos certos, e quando vou SALVAR, aparece o seguinte erro....

org.postgresql.util.PSQLExcepetion:ERRO:valor da matriz deve iniciar com "{" ou dimensão

Agradeço desde já, e estarei aguardando...

3 Respostas

L

Esqueça isso tudo e use o PreparedStatement dessa maneira.

public void Gravar() {   
  
   Connection conn = null;   
   try {   
  
      Class.forName("org.postgresql.Driver");   
      conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/processo", "postgres", "naco.l.t");   
      String sql = "INSERT INTO "  
         + "USUARIO(CD_USUARIO, CD_EMPRESA, LOGIN, SENHA, EMAIL, "  
         + "TELEFONE, CPF, NOME, BLOQUEADO, DT_ULTIMO_ACESSO, VL_HORA)"  
         + " VALUES (?,?,?,?,?,?,?,?,?,?,?)";   
  
      PreparedStatement pstm = conn.prepareStatement(sql);   
  
      // SETA OS PARAMETROS DO PREPAREDSTATEMENT AQUI!   
  
      int rs = 0;   
      rs = Integer.parseInt(sql, pstm.executeUpdate()) ;   
  
      pstm.close();   
      conn.close();   
      //banco.liberaConexao(conn);   
   } catch (SQLException e) {   
      e.printStackTrace();   
   } catch (ClassNotFoundException e) {   
      e.printStackTrace();   
   }   
  
}

abrxx

syncel
lokit"s:
Esqueça isso tudo e use o PreparedStatement dessa maneira.
public void Gravar() {   
  
   Connection conn = null;   
   try {   
  
      Class.forName("org.postgresql.Driver");   
      conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/processo", "postgres", "naco.l.t");   
      String sql = "INSERT INTO "  
         + "USUARIO(CD_USUARIO, CD_EMPRESA, LOGIN, SENHA, EMAIL, "  
         + "TELEFONE, CPF, NOME, BLOQUEADO, DT_ULTIMO_ACESSO, VL_HORA)"  
         + " VALUES (?,?,?,?,?,?,?,?,?,?,?)";   
  
      PreparedStatement pstm = conn.prepareStatement(sql);   
  
      // SETA OS PARAMETROS DO PREPAREDSTATEMENT AQUI!   
  
      int rs = 0;   
      rs = Integer.parseInt(sql, pstm.executeUpdate()) ;   
  
      pstm.close();   
      conn.close();   
      //banco.liberaConexao(conn);   
   } catch (SQLException e) {   
      e.printStackTrace();   
   } catch (ClassNotFoundException e) {   
      e.printStackTrace();   
   }   
  
}

abrxx

lokit, uma pergunta, naquele campo apos a //, pedi para setar os parâmetros quais seriam eles?
Obrigado

L

opa…desculpe pensei que vc saberia!

seria isso

ex:

pstm .setInt(1, emp.getCodigo()); pstm .setString(2, emp.getNome());

abrxx

Criado 13 de outubro de 2011
Ultima resposta 13 de out. de 2011
Respostas 3
Participantes 2