java.sql.SQLException: valeur non Valide pour getInt() - 'Glomindz de Soutien"
Je ne suis pas en mesure de récupérer les valeurs de la colonne de ma table de base de données avec le codage suivant le message a été affiché dans la console:
java.sql.SQLException: Invalid value for getInt() - 'Glomindz Support'
Mon code est:
package com.glomindz.mercuri.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import com.glomindz.mercuri.util.MySingleTon;
public class UserServicesDAO {
private Connection connection;
public UserServicesDAO() {
//connection = new MySingleTon().getConnection();
connection = MySingleTon.getInstance().getConnection();
}
public void get_all_data() {
}
public Map<Integer, String> get_all_data1() {
HashMap<Integer, String> result = new HashMap<Integer, String>();
String query = "SELECT * FROM spl_user_master";
try {
PreparedStatement stmt = connection.prepareStatement(query);
boolean execute = stmt.execute();
System.out.println(execute);
ResultSet resultSet = stmt.getResultSet();
System.out.println(resultSet.getMetaData());
while (resultSet.next()) {
result.put(resultSet.getInt(1), resultSet.getString("id"));
result.put(resultSet.getInt(2), resultSet.getString("name"));
result.put(resultSet.getInt(3), resultSet.getString("email"));
result.put(resultSet.getInt(4), resultSet.getString("mobile"));
result.put(resultSet.getInt(5), resultSet.getString("password"));
result.put(resultSet.getInt(6), resultSet.getString("role"));
result.put(resultSet.getInt(7), resultSet.getString("status"));
result.put(resultSet.getInt(8),
resultSet.getString("last_update"));
}
} catch (SQLException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
public static void main(String[] args) {
new UserServicesDAO().get_all_data1();
}
}
Ma db schéma de la table est:
id name email mobile password role status last_update
1 Glomindz Support support@glomindz.com 9854087006 cbf91a71c11d5ec348b0c7e9b2f0055e admin 1 2013-05-02 22:05:14
2 Amarjyoti Das amarjyotidas@splcare.com 9864092598 88f2dccb02b2a20615211e5492f85204 admin 1 2013-04-26 05:44:41
pouvez-vous partager votre base de données schéma de la table
getInt()
signifie que la valeur que vous obtenez à partir du jeu d'enregistrements est un int, qui "Glomindz Support" (entre autres) n'est clairement pas. Cela ne veut pas dire qu'il renvoie tout type de valeur avec un index entier. Même genre de remarque pour getString().OriginalL'auteur atikul hussain | 2013-07-09
Vous devez vous connecter pour publier un commentaire.
Vous récupérer chaque colonne comme
int
pour la clé. Je suppose que certains de ces colonnes représententString
s ouDate
s.Les incohérences entre les types de données et l'objet ou à la valeur retournée par la
getInt()
méthode provoque l'erreur. Je dirais bâtiment/de la modélisation d'un objet dans votre domaine qui stocke les lignes de la table. Quelque chose comme:Puis construire un plan contenant l'objet que la valeur et l'
id
comme la clé:OriginalL'auteur Kevin Bowersox
Je pense que vous avez besoin de toutes vos données à partir de la table une Carte. Mais vous pouvez avoir plusieurs lignes dans votre base de données, donc en gros, vous voulez une liste de cartes! Modifier votre méthode à quelque chose comme ceci:-
Ici, pour chaque extraites d'enregistrer à partir de la base de données, les colonnes sont mis dans la
Map
, et chaque carte représente une ligne, qui est ajouté à unList
!merci je l'hépatite a eu la sortie
OriginalL'auteur SudoRahul
Cette erreur est due, lors de la création de la table, vous pouvez mentionné
name
colonne de type ENTIER. Donc, lors de l'extraction il obtiendra cette colonne à l'aide degetInt()
méthode. Mais en fait, la colonne est de type CHAÎNE de caractères.U devrait changer le type de données de
name
colonne à la CHAÎNE et ce problème sera résolu automatiquement.OriginalL'auteur Preethiga
Si vous utilisez des annotations JPA pour mapper les champs d'entité avec table db, vous devez utiliser
@Enumerated(EnumType.STRING)
annotation de type ENUM champs d'entité.OriginalL'auteur Hitesh
Selon la documentation,
getInt()
ougetString()
nécessite columnIndex ou columnLabel d'obtenir la valeur de cette colonne, en particulier, l'entrée. Pour trouver l'index de colonne, vous devez utiliserfindColumn(name)
méthode pour obtenir son columnIndex. Ainsi, votre code doit être comme suit:Fondamentalement, vous avez besoin pour obtenir vos valeurs selon le type de données avec laquelle il a été enregistré dans la bd. Vérifier les méthodes disponibles pour récupérer les valeurs par Ctrl+Clic sur la classe ResultSet
OriginalL'auteur nitinkumarp