Problemas de inserir dados na BD a parir do java, especificamente na interface statement

6 respostas
java
Isaura_Antonio

package Persistencia;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

/**
*

  • @author isaura
    
    */
    
    public class Conexao
    
    {
    
    private String url;
    
    private String user;
    
    private String senha;
    
    private Connection con;
    
    Conexao()
    
    {
    
    url = jdbc:postgresql://localhost:5432/Consultas;
    
    user = “postgres”;
    
    senha = “0726”;
    
    try
     {
         Class.forName("org.postgresql.Driver");
         con =  DriverManager.getConnection(url,user,senha);
         System.out.println("Conexao sucedida!"+con);
     }
     catch(Exception e)
     {
         e.printStackTrace();
     }
    

    }

    public int executaSQL ( String sql )
    
    {
    
    try
    
    {
    
    Statement stm = con.createStatement();
    
    int res = stm.executeUpdate(sql);
         
         con.close();
         
         return res;
     }
     
     catch ( Exception e)
     {
         e.printStackTrace();
          return 0;
     }
    

    }

}

package Persistencia;

/**
*

  • @author isaura
    
    */
    
    public class Teste1
    
    {
    
    public static void main(String[] args)
    
    {
    
    Conexao c = new Conexao();
    
    String sql = " INSERT INTO Paciente (id,nome,email,telefone,rua,bairro,cidade)VALUES (default,'Isaura Manico','[email removido]','927554521',"
                 +"'Anturios','Jardin','Camama')";
         
         int result = c.executaSQL(sql);
         
         if (result >0)
         {
             System.out.println("Cadastrado com sucess!!");
         }
         
         else
         {
             System.out.println("Erro de cadastro!");
         }
    

    }

}

//aparece especificamente erro de cadastro e depois cai em excepcoes
//já criei a BD e a tabela

6 Respostas

Pedro_Crispim

Para fazer inserções no BD tem que usar o PreparedStatement se não estou enganado.

staroski

Posta o stacktrace das exceções.

Isaura_Antonio

Já usei mas tá dando erros, nela especificamente!!

Isaura_Antonio

staroski

Se não me engano o driver JDBC do PostgreSQL exige que você coloque o <nome do esquema>.<nome da tabela> ao escrever as queries.

Isaura_Antonio

Muito obrigada, solucionado!!

Criado 6 de outubro de 2020
Ultima resposta 7 de out. de 2020
Respostas 6
Participantes 3