public boolean selecionarInformações(String comando){
boolean deuCerto = true;
try {
resultset = statement.executeQuery(comando);
System.out.println(resultset.);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Deu erro na conexão "
+ "com a fonte de dados: " + ex);
deuCerto = false;
}
try {
conexao.close();
} catch (SQLException ex) {
Logger.getLogger(criacaoTabelas.class.getName()).log(Level.SEVERE, null, ex);
}
return deuCerto;
}
Estou fazendo uma interface para comandos sql em oracle, e estou com uma duvida como irei fazer pra fazer um select e pegar todas as colunas da tabela?
Obrigado ate mais !
Você deve usar um coringa para pegar todas as colunas. Neste caso, a representação é feita por um asterisco , um *. Por exemplo:
isso eu faço na String comando, mando por parametro esse comando para o metodo, mas como eu pego as colunas e coloco numa segunda String para exibir?
essa eh minha duvida!
Obrigado pela ajuda!
Cristian da uma lida neste artigo “Analisando Metadados com JDBC” aqui memo no GUJ:
http://www.guj.com.br/articles/24
Acredito que ajude a sanar sua duvida.
Obrigadao acho q a resposta esta ai mesmo pelo que pude ver no inicio do texto
Internacional Campeao Gaucho 2011
Bom tentei mas naum deu muito certo, se alguem poder me ajudar com o meu metodo fiko muito agradecido
public boolean selecionarInformações(String comando){
boolean deuCerto = true;
try {
resultset = statement.executeQuery(comando);
ResultSetMetaData r = resultset.getMetaData();
int numColunas = r.getColumnCount();
int i = 1;
while (resultset.next()) {
if(r.getColumnTypeName(i).equalsIgnoreCase("number")){
System.out.print(resultset.getDouble(r.getColumnName(i)));
}else if(r.getColumnTypeName(i).contains("varchar")){
System.out.print(resultset.getString(r.getColumnName(i)));
}
i++;
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Deu erro na conexão "
+ "com a fonte de dados: " + ex);
deuCerto = false;
}
try {
conexao.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Deu erro na conexão "
+ "com a fonte de dados: " + ex);
deuCerto = false;
}
return deuCerto;
}
valeu toda ajuda eh bem vida
Tente isso
public boolean selecionarInformações(String comando){
boolean deuCerto = true;
try {
resultset = statement.executeQuery(comando);
ResultSetMetaData r = resultset.getMetaData();
int numColunas = r.getColumnCount();
while (resultset.next()) {
for (int i = 0; i < numColunas; i++)
{
if(r.getColumnTypeName(i).equalsIgnoreCase("number")){
System.out.print(resultset.getDouble(r.getColumnName(i)));
}else if(r.getColumnTypeName(i).contains("varchar")){
System.out.print(resultset.getString(r.getColumnName(i)));
}
else
System.out.print("Coluna nao é number e nem varchar");
}
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Deu erro na conexão "
+ "com a fonte de dados: " + ex);
deuCerto = false;
}
try {
conexao.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Deu erro na conexão "
+ "com a fonte de dados: " + ex);
deuCerto = false;
}
return deuCerto;
}
Funcionou
fikou assim o metodo
public boolean selecionarInformações(String comando) {
boolean deuCerto = true;
try {
resultset = statement.executeQuery(comando);
ResultSetMetaData r = resultset.getMetaData();
int numColunas = r.getColumnCount();
int i = 1;
while (resultset.next()) {
int cont = 1;
while (cont <= numColunas) {
System.out.print(r.getColumnName(cont) + " ");
if (r.getColumnTypeName(cont).equalsIgnoreCase("number")) {
System.out.println(resultset.getDouble(r.getColumnName(cont)));
} else if (r.getColumnTypeName(cont).equalsIgnoreCase("varchar") || r.getColumnTypeName(cont).equalsIgnoreCase("varchar2")) {
System.out.println(resultset.getString(r.getColumnName(cont)));
}
cont++;
}
i++;
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Deu erro na conexão "
+ "com a fonte de dados: " + ex);
deuCerto = false;
}
try {
conexao.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Deu erro na conexão "
+ "com a fonte de dados: " + ex);
deuCerto = false;
}
return deuCerto;
}
}
Uma outra dica… Não use acentuação nem cedilha na sua nomenclatura…
E edite o nome do tópico com [RESOLVIDO].