Como que ficaria la no meu Servlet desta maneira que vc me falou ?
Desculpe as perguntas básica mas eu estou começando agora
Bob :oops:
fabim
overkill:
mas dai o seu rs sera == a null … ai vc sabera que ele nao obteve registros da base .
abraço
Incorreto. Se um resultSet é o retorno de um stmt.executeQuery, JAMAIS será nulo.
do Javadoc:
executeQuery
public ResultSet executeQuery(String sql)
throws SQLExceptionExecutes the given SQL statement, which returns a single ResultSet object.
Parameters:
sql - an SQL statement to be sent to the database, typically a static SQL SELECT statement
Returns:
a ResultSet object that contains the data produced by the given query; never null
Throws:
SQLException - if a database access error occurs or the given SQL statement produces anything other than a single ResultSet object
caique_castanho
O problema é só saber se entrou no while ou não ? Se for crie uma variável boleana pra dizer se passou ou não, no final você verifica essa variável, se ela for verdadeira retorne o objeto cliente, senão retorne null, exemplo:
mas dai o seu rs sera == a null … ai vc sabera que ele nao obteve registros da base .
abraço
Incorreto. Se um resultSet é o retorno de um stmt.executeQuery, JAMAIS será nulo.
do Javadoc:
executeQuery
public ResultSet executeQuery(String sql)
throws SQLExceptionExecutes the given SQL statement, which returns a single ResultSet object.
Parameters:
sql - an SQL statement to be sent to the database, typically a static SQL SELECT statement
Returns:
a ResultSet object that contains the data produced by the given query; never null
Throws:
SQLException - if a database access error occurs or the given SQL statement produces anything other than a single ResultSet object
Tudo bem … nao me ative a documentacão amigo alem do que nao uso mais JDBC puro … quero dizer que caso venha vazio … ou seja
"rs == null " não ao pé do código hehe
mas se analizar caso o rs estiver vazio o while nao ir apercorer
while(rs.next())
entao mesmo assim seu return cliente ira ser nullo … saca so aplicar a logica … e contornar …
fabim
overkill:
fabiocsi:
overkill:
mas dai o seu rs sera == a null … ai vc sabera que ele nao obteve registros da base .
abraço
Incorreto. Se um resultSet é o retorno de um stmt.executeQuery, JAMAIS será nulo.
do Javadoc:
executeQuery
public ResultSet executeQuery(String sql)
throws SQLExceptionExecutes the given SQL statement, which returns a single ResultSet object.
Parameters:
sql - an SQL statement to be sent to the database, typically a static SQL SELECT statement
Returns:
a ResultSet object that contains the data produced by the given query; never null
Throws:
SQLException - if a database access error occurs or the given SQL statement produces anything other than a single ResultSet object
Tudo bem … nao me ative a documentacão amigo alem do que nao uso mais JDBC puro … quero dizer que caso venha vazio … ou seja
"rs == null " não ao pé do código hehe
mas se analizar caso o rs estiver vazio o while nao ir apercorer
while(rs.next())
entao mesmo assim seu return cliente ira ser nullo … saca so aplicar a logica … e contornar …
Nao entendi essa de aplicar a logica e contornar.
Pela sua afirmação muitos que lerem a thread irao axar que podem verificar se nao veio registros com a comparação if ( rs == null )
O q sempre retornara false, caso seja resultado de um stmt.executeQuery.
Postei isso pq ja houve tempos atras uma pessoa que ficou confusa pq ( rs == null ) sempre retornava false. Mesmo qdo nao vinha registros do banco.
overkill
heheeh é verdade … vou montar um exemplo do que quero mostrar e posto depois
Abraços
V
vimieiro
Colega, faz assim :
rs=stmt.executeQuery();rs.next();if(rs.getRow()!=0){// Achou o registro
xandroalmeida
stmt=con.prepareStatement(sb.toString());stmt.setInt(1,cliente.getMatSoc());stmt.setInt(2,cliente.getEmpSoc());rs=stmt.executeQuery();if(rs.next()){
do{cliente=newClienteVO();cliente.setNomeSoc(rs.getString(1));cliente.setMatSindSoc(rs.getInt(2));}while(rs.next());
}else{
thrownewException("Registro não encontrado");
}
.
.
.
somicro
cara sua resposta fui útil curta e objetiva parabens o amigo ai em cima deu mé volta na resposta que precisava dar pra mim foi blza vlw
B
Bruno_Laturner
Seria melhor ele retornar uma lista vazia e a camada de negócios acima decidir o que fazer com ela.
Persistência lançando exceção que não seja problema de conexão e banco é a maior fria.