[quote=overkill]mas dai o seu rs sera == a null … ai vc sabera que ele nao obteve registros da base .
abraço [/quote]
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
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:
boolean found = false;
while(rs.next())
{
found = true;
....
finally{
stmt.close();
conex.Fecha_Conexao(con);
if(found)
return cliente;
else
return null;
}
[quote=fabiocsi][quote=overkill]mas dai o seu rs sera == a null … ai vc sabera que ele nao obteve registros da base .
abraço [/quote]
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
[/quote]
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 …
[quote=overkill][quote=fabiocsi][quote=overkill]mas dai o seu rs sera == a null … ai vc sabera que ele nao obteve registros da base .
abraço [/quote]
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
[/quote]
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 …
[/quote]
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.