Oi,
Estou estudando um programa que cadastra fornecedores e estou tentando entender algumas coisas:
Está na classe conectaBD
qual a função das linhas:
private Statement teste;
private ResultSet retorno;
…
teste = con.createStatement();
qual a diferença?
public ConexaoBanco(){} ou somente:
public ConexaoBanco ?
Está na Classe Cad_Fornecedor
é algum padrão?
teste.executeUpdate(pvolta);
retorno = teste.executeQuery(pvolta); o executeQuery e o executeUpdate são algum padrão?
O retorno de uma select deve ser uma string?
String pvolta = "select * from fornecedor where cod_for = " + getCod_for();
e da onde saiu o getCod_for() ? é algum objeto ou será alguma trigger ou store procedure?
O que realizam estas linhas?
retorno = conexao.Consulta_Dados(pvolta);
boolean result = retorno.next();
if (result)
…
Se alguém poder ajudar. Agradeço.
1-Statement é a classe que executa os códigos sql, mas recomendo a utilização do PreparedStatement.
o Statement está sendo instanciando.
teste.executeUpdate(pvolta);
vc esta eecutando o código sql contido na String pvolta.
retorno = teste.executeQuery(pvolta);
retorno é o ResultSet que irá receber a consulta que consta na String pvolta.
2-ResultSet é um list q vc irá implementar qndo quiser retornar valores do BD.
[quote] O retorno de uma select deve ser uma string?
String pvolta = "select * from fornecedor where cod_for = " + getCod_for();
e da onde saiu o getCod_for() ? é algum objeto ou será alguma trigger ou store procedure? [/quote]
o seu select irá ser retornado atraves do ResultSet.
atraves do ResultSet vc irá retornar os valores nos tipos q vc deseja.
http://java.sun.com/j2se/1.4.2/docs/api/java/sql/ResultSet.html
e akele getCod_for(); ali é o metodo do VO q vc manda como parametro.
[quote] O que realizam estas linhas?
retorno = conexao.Consulta_Dados(pvolta);
boolean result = retorno.next();
if (result) [/quote]
retorno novamente eh o seu ResultSet
e a variavel boolean result vai receber o valor
correspondente a existir ou nao um proximo nodo.
P.S.: Espero não ter falado nada erradamente.
Qual a diferença entre Statement e PreparedStatement?
No PreparedStatement você pode usar parametros dentro da query. No Statement, não. O máximo que você pode fazer é uitilizar String concatenadas à sua query, o que é uma solução não muito elegante e pode ser insegura.
[quote]Statement
"SELECT * FROM cliente WHERE id_cliente = " + varIdCliente
[/quote]
[quote]Prepared Statement
“SELECT * FROM cliente WHERE id_cliente = ?”
[/quote]