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

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','isa@gmail.com','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

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

1 curtida

Posta o stacktrace das exceções.

1 curtida

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

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.

1 curtida

Muito obrigada, solucionado!!

1 curtida