Criar Statement - Estou perdido [RESOLVIDO]

Boa noite pessoal.
Mais uma vez (e serão muitas) estou precisando de vcs. Estou tentando criar um Statement mas estou me embolando com a conexão, creio que seja isso. Vejam bém, criei o arquivo conexão.java, ele está funcionando direitinho, quando o chama ele retorna a mensagem que conectou ao banco. Até aí tudo certo.
Mas não estou sabendo chamar ele no método principal, ao qual irei criar o Statement, pois ele sempre dá erro. Abaixo vou listar primeiramente o exemplo que ví aquí no forum e estou adaptando, ao qual estou querendo fazer mais não está dando certo pq não estou sabendo implementar, depois o arquivo conexao.java e depois o método principal.
Mas olhando o arquivo conexao.java, ele ja tem um Statement, com resultset e tudo mais, aí que embolou, não sei se irei precisar criar novamente no método principal, ou como irei trabalhar, estou fazendo uma verdadeira salada.

Sei que a dúvida é básica, mas realmente sou iniciante e os exemplos que estou vendo, sempre são um pouco diferentes do que criei, que também já foi com ajuda de vc’s.

Exemplo do forum:

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/BANCO_DE_DADOS?user=root&password=root"); Statement stm = conn.createStatement(); ResultSet rs = stm.executeQuery("SELECT coluna1, coluna2, coluna3 FROM tabela");

Arquivo conexao.java:

[code]package conectabanco;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.*;

class conexao {
final private String driver = “org.postgresql.Driver”;
final private String url = “jdbc:postgresql://localhost/Estoque”;
final private String usuario = “postgres”;
final private String senha = “1234”;
private static Connection conexao;
public Statement statement;
public ResultSet resultset;
public void conecta()
{
boolean result = true;
try
{
Class.forName(driver);
conexao = DriverManager.getConnection(url, usuario, senha);
// conexao = DriverManager.getConnection(url, new String(“teste”), new String(“123”));
JOptionPane.showMessageDialog(null, “Conectou”);

    }
    catch(ClassNotFoundException Driver)
    {
        JOptionPane.showMessageDialog(null, "Driver não encontrado");
        result = false;
    }
    catch(SQLException Fonte)
    {
        JOptionPane.showMessageDialog(null, "Deu erro na conexao com a fonte de dados "+Fonte.getMessage());
        result = false;
    }

   // return result;
}
public void desconecta()
{
    boolean result = true;
    try
    {
        conexao.close();
        JOptionPane.showMessageDialog(null, "Banco fechado");
    }
    catch(SQLException Fecha)
    {
        JOptionPane.showMessageDialog(null, "Não foi possivel fechar o banco de dado");
        result = false;
    }

}
public ResultSet executeSQL(String sql)
{
    try
    {
        System.out.println(sql);
        statement = conexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);//seria como se fosse uma abertuda das portas para executar o sql
        resultset = statement.executeQuery(sql);
    }
    catch(SQLException sqlex)
    {
        JOptionPane.showMessageDialog(null, "Não foi possível executar o comando sql,"+sqlex+"," +
                "o sql passado foi "+sql);
    }
    return  resultset;
}

}[/code]

Método principal o qual não estou sabendo lidar com a conexão:

[code]
package conectabanco;
import java.sql.;
import java.util.
;

public class Main {

public static void main(String[] args) {
 
    conexao conn = new conexao();
    conn.conecta();
    Statement stm = conn.createStatement();
}

} [/code]

Peço mais uma vez encarecidamente que me ajudem, estou meio perdido de como chamar a conexão e continuar o resto.
Grande abraço a todos.

Boa noite.

Verdade, está uma grande salada. Está com dificuldades em JDBC?

Aqui está um artigo fácil de compreender e com uma ótima explicação: http://www.guj.com.br/article.show.logic?id=7

Dê uma lida nele com calma que o resto é facil. Uma opinião minha, esqueça Statement e use PreparedStatement ok?
Abraços.

[quote=nel]Boa noite.

Verdade, está uma grande salada. Está com dificuldades em JDBC?

Aqui está um artigo fácil de compreender e com uma ótima explicação: http://www.guj.com.br/article.show.logic?id=7

Dê uma lida nele com calma que o resto é facil. Uma opinião minha, esqueça Statement e use PreparedStatement ok?
Abraços.[/quote]
Olá, obrigado por responder, mas foi justamente o trecho deste post que citei acima e não estou conseguindo ageitar.
Obrigado, abraços.

conexao conn = new conexao();
conn.conecta(); <---- Até aqui tava beleza
você vai chamar --> ResultSet rs = conn.executaSQL("Select * from Tabela where campo1 = ‘x’ ") por exemplo;
while(rs.next()){
String coluna1 = rs.getString(“coluna1”);
int coluna2 = rs.getInt(“coluna2”);
Date coluna3 = rs.getDate(“coluna3”);
}

Acho que era essa sua dúvida ?

Em qual momento exatamente está sua dúvida? :slight_smile:

[code]String sqlQuery = “SELECT col1, col2,col3 FROM tabela WHERE col1 = ?”;
PreparedStatement ps = conn.prepareStatement(sqlQuery);

ps.setString(1, “teste”); //aqui voce pode setar qualquer coisa para entrar no lugar do ?, lembrando que sempre segue a ordem, a primeira ? eh 1, a segunda eh 2…

ResultSet res = ps.executeQuery();//executa a query e retorna um ResultSet, caso vc apenas queira executar a query como em um update ou delete use ps.execute()
[/code]

taew um exemplosinho de uso de preparedstatment :}

OK pessoal, muito obrigado, deu certo.
Abraços a todos.