PDA

Visualizza la versione completa : [Java] Recupero valori null con servlet


pgm
02-09-2002, 15:56
Dunque!
Ho una sevler che si occupa di recuperare i valori da un database sfruttando le librerie ECS. Il valori vengono poi visualizzati in una jsp, ma questo non un problema.
Il fatto che vorrei mettere un carattere (per esempio "-" )al posto dei campi null. Ho provato a fare cos:

public class table extends Table {
public table(ResultSet rs) throws SQLException {

setBorder(1);
setCellPadding(2);
setCellSpacing(0);

ResultSetMetaData rsmd = rs.getMetaData();
int nCol = rsmd.getColumnCount();

TR row = new TR();
for (int i=1; i<=nCol;i++) {
addElement(new TH().addElement(rsmd.getColumnName(i)));
}
addElement(row);

while (rs.next()) {
row = new TR();
for (int i=1; i<=nCol;i++) {
if (rs.getString(i) != "") {
addElement(new TD().addElement(rs.getString(i)));
} else {
addElement(new TD().addElement("-"));
}
}
addElement(row);
}

}

}

Il problema che non inserisce il carattere voluto nei campi vuoti.
Secondo voi nel ciclo if in questione (quello in bold) cosa devo inserire?

pgm
02-09-2002, 17:20
up

pgm
02-09-2002, 18:07
UP :dh: :cry: :cry: :cry:

pgm
03-09-2002, 09:45
up

Maldito
03-09-2002, 10:12
Originariamente inviato da pgm
if ( !rs.getString(i).equalsIgnoreCase("") ) {
addElement(new TD().addElement(rs.getString(i)));
} else {
addElement(new TD().addElement("-"));
}
}
addElement(row);
}

}

}



Per confrontare le stringhe usa sempre equals..;)

pgm
03-09-2002, 10:19
Niente maldito proprio niente. Ho provato in tutti i modi, ho chiesto su altri forum, ma il problema rimane cavolo. Ci perdo la testa.
Quando trova un campo vuoto nel db non mio disegna una cavolo di cella vuota con i suoi bordi. Che sia un problema di db?:dh: :dh: :dh: :dh: :cry:

Maldito
03-09-2002, 10:24
impozzibile..

qualche valore lo deve avere!

una stringa, quindi o null o vuota o piena.

hai provato tutte e tre queste?

if ( !rs.getString(i).equalsIgnoreCase("") ) {

if ( rs.getString(i) != null ) {

if ( rs.getString(i) != "" ) {

pgm
03-09-2002, 10:29
Originariamente inviato da Maldito
impozzibile..

qualche valore lo deve avere!

una stringa, quindi o null o vuota o piena.

hai provato tutte e tre queste?

if ( !rs.getString(i).equalsIgnoreCase("") ) {

if ( rs.getString(i) != null ) {

if ( rs.getString(i) != "" ) {

si:dh: :dh: :dh: :dh: :dh:

non ci capisco pi un c....

Maldito
03-09-2002, 10:36
Originariamente inviato da pgm


si:dh: :dh: :dh: :dh: :dh:

non ci capisco pi un c....

l'incazzamento peggiora solo le cose.. :nonono:

allora: se non nessuno dei tre... allora la stringa piena, per di spazi.

Prova a debuggare la servlet e vedi che ci finisce li dentro.

oppure per vederlo velocemente fai cos:



if ( rs.getString(i).equals("") ) {

addElement(new TD().addElement( "---" + rs.getString(i) + "---" ));

} else {

addElement(new TD().addElement("-"));

}


se al posto delle caselle vuote vedi "--- ---" allora basta che nel confronto trimmi la stringa e quindi


if ( !rs.getString(i).trim().equals("") )


Se invece vedi "------" allora non hai provato bene tutte e tre le soluzioni precedenti.

pgm
03-09-2002, 10:40
adesso provo

Loading