11
votes

Java - Comment obtenir le nom de la colonne sur le jeu de résultats

Bonjour, j'essaie de faire une erreur quand il n'y a pas d'étudiant apparié ... et il va afficher comme ça Aucun enregistrement correspondant trouvé et je veux que le nom de la colonne ne soit toujours identique, mais je ne le dis toujours pas ... peut-être que quelqu'un me dise si cela est juste ??

Heres ma fonction pour cela .. . Et j'ajouterai comment j'ai mis l'erreur ... mais je ne sais pas comment obtenir le nom de colonne xxx

J'essaye comme ça mais m'a toujours donné null! !! Ce code est ci-dessous de vide = false; xxx


1 commentaires

Cela se produit car, s'il n'y a pas d'informations à partir de la base de données, vous affectez Fresh à la variable vide, déclenchant ainsi le bloc IF (vide), ce qui n'attribuait aucun nom de colonne à votre modèle. Vous devriez insérer manuellement les noms de colonnes, mais que voulez-vous qu'ils soient si les ResulatsSet sont vides?


5 Réponses :


2
votes

Obtenez RestaurantsTatadata ​​code> Utiliser RESEILLET # GETMETADATA () CODE> :

String col2Name = meta.getColumnLabel(2);


0 commentaires

0
votes

Obtenez la métadonnée xxx

alors vous pouvez faire: xxx


0 commentaires

4
votes

Essayez ceci.

      ResultSetMetaData meta = resultset.getMetaData(); 

      Integer columncount = meta.getColumnCount();

      int count = 1 ; // start counting from 1 always

      String[] columnNames = new String[columncount];

      while(count<=columncount){

         columnNames [count-1] = meta.getColumnLabel(count);
         count++;

      }


3 commentaires

Bonjour quand j'essaie ceci ... le résultat est étudiant_id | Nom et le résultat attendu est ID d'étudiant | Nom car il s'agit du nom de la colonne par défaut


Il y a une différence entre le nom de la colonne et la colonne Label.so Vous devez utiliser la méthode des résultatsTametata


S'il vous plaît voir mon code mis à jour



0
votes

rs.getmetadata (). getcolumnName (int i);

et ne concacez pas la requête param!


3 commentaires

alors qu'est-ce que vous suggérez de combiner le nom de dernière nom, prénom MI comme nom


Je veux dire comme '% "+ TempsearchValue +"%' est mauvais, car la possible injection SQL. Utilisez à la place une méthode de systémation à la place.


C'est juste un projet scolaire ... peut-être quand j'ai fini l'école. Je vais protéger mon programme ...



29
votes
ResultSetMetaData metaData = resultSet.getMetaData();
int count = metaData.getColumnCount(); //number of column
String columnName[] = new String[count];

for (int i = 1; i <= count; i++)
{
   columnName[i-1] = metaData.getColumnLabel(i);
   System.out.println(columnName[i-1]);
}

2 commentaires

Bonjour quand j'essaie ceci ... le résultat est étudiant_id | Nom et le résultat attendu est ID d'étudiant | Nom car il s'agit du nom de la colonne par défaut


Je pense qu'il y a une parenthèse de fermeture supplémentaire là-bas - devrait être Columnname [I-1] = métadata.getcolumnLabel (i);