Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Eseguire query SQL senza conoscere i campi

    Normalmente lavorando in JSP per eseguire una query SQL e poi gestirne i campi faccio come segue

    <%
    query1="select a, b, c from tabella";
    rs = stmt.executeQuery(query1);
    if (rs!=null) {
    a=rs.getString("a");
    b=rs.getString("b");
    c=rs.getString("c");
    ...
    ...
    } // if
    %>

    Se invece voglio gestire dei campi di cui non conosco il nome e il numero come faccio?
    Voglio dire, io avrei bisogno di fare una cosa del tipo:

    <%
    query1="select * from tabella";
    rs = stmt.executeQuery(query1);
    if (rs!=null) {
    while (rs.next()) {
    a=rs.getString("???");
    ...
    ...
    } // while
    } // if
    %>

    Come si può fare?
    Vi spiego in breve il motivo.
    Io da una pagina jsp richiamo un'altra pagina jsp alla quale passo il nome di una tavola e questa nuova pagina jsp dinamicamente deve presentare in forma tabellare il contenuto di questa tavola, per cui capite che, con riferimento al mio codice scritto sopra, io in realtà non so nulla di "tavola".
    Io avevo pensato di effettuare prima una query sql sul catalogo del DB per conoscere i campi di "tavola" e metterli in un array e poi provare a gestirli, ma magari qualcuno di voi sa che esiste qualche metodo e/o classe che consenta di fare una roba del tipo

    a=rs.getString("???");

    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Eseguire query SQL senza conoscere i campi

    Originariamente inviato da albaalbetti
    Se invece voglio gestire dei campi di cui non conosco il nome e il numero come faccio?
    Voglio dire, io avrei bisogno di fare una cosa del tipo:

    <%
    query1="select * from tabella";
    rs = stmt.executeQuery(query1);
    if (rs!=null) {
    while (rs.next()) {
    a=rs.getString("???");

    Come si può fare?
    Da un ResultSet puoi avere i "metadati" del result set (ovvero le informazioni su quante/quali colonne, con quali nomi, di quali tipi, ecc...).
    ResultSet ha un metodo:

    ResultSetMetaData getMetaData()
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.