Pessoal, to querendo fazer o valor da variavel objects retornar, mas onde colocar o return?? pois dentro do try dá erro, pois em caso de falha ele nao retorna, e fora do try nao pode pq as variaveis estao dentro do try!!
ai vai o trecho do codigo:
public Object getDados(String query)
{
try{
Statement s = this.can.createStatement();
ResultSet rs = s.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();
int colNo = rsmd.getColumnCount();
while(rs.next())
{
Object[] objects = new Object[colNo];
for(int i = 0; i < colNo; i++)
{
objects[i] = rs.getObject(i+1);
return objects;
}
}
}
catch(Exception e){
JOptionPane.showMessageDialog null,e.getMessage),“ERRO”,JOptionPane.ERROR_MESSAGE);
System.exit(0);
}
}
public Object getDados(String query)
{
Object[] objects = null;
try{
Statement s = this.can.createStatement();
ResultSet rs = s.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();
int colNo = rsmd.getColumnCount();
while(rs.next())
{
objects = new Object[colNo];
for(int i = 0; i < colNo; i++)
{
objects[i] = rs.getObject(i+1);
}
}
}
catch(Exception e){
JOptionPane.showMessageDialog null,e.getMessage),"ERRO",JOptionPane.ERROR_MESSAGE);
System.exit(0);
}
return objects;
}
Considere dentear seu código. E colocá-los dentro da Tag ‘code’.
public Object getDados(String query)
{
try{
Statement s = this.can.createStatement();
ResultSet rs = s.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();
int colNo = rsmd.getColumnCount();
while(rs.next())
{
Object[] objects = new Object[colNo];
for(int i = 0; i < colNo; i++)
{
objects[i] = rs.getObject(i+1);
return objects;
}
}
}
catch(Exception e){
JOptionPane.showMessageDialog null,e.getMessage),"ERRO",JOptionPane.ERROR_MESSAGE);
System.exit(0);
}
}
Sua pergunta já veio com a resposta.
Todo método TEM que retornar SEMPRE o que é declarado.
Sendo assim, vc pode fazer um return qualquer em caso de falha, por exemplo:
return null;
return new Object();
Então você tb poderia declarar o objeto fora do try.
Object[] objects = null
try{
blablabla
}catch(){
blablabla
}
return objects;
[b][i]Talvez vc utilizando um método “getNomeDoMetodo()” para implementar um “return” pode facitar a leitura do seu código e a legivibilidade dele.
…Bem é o que eu aconselho!!!
[:D]
VALEU PESSOAL, DEU CERTO!!!