Erreur étrange avec JDBC sqlite

Langue

J'obtiens cette erreur sans arrêt, et je n'ai aucune idée de comment la corriger. Ci-dessous, j'ai ajouté mon code et la pile. Merci d'avance pour toute aide!

Le premier fragment est la façon dont j'initialise la table, puis où j'ai une erreur: (actualisation vide, cette ligne listModel.addElement(result.getString("id_Match") + " | " + result.getString("Name") ), puis pile.

        String createCity = "CREATE TABLE IF NOT EXISTS City(id_City INTEGER PRIMARY KEY AUTOINCREMENT, Name VARCHAR(70) NOT NULL, Country VARCHAR(70) NOT NULL, Continent VARCHAR(70))";
        String createCourt = "CREATE TABLE IF NOT EXISTS Court(id_Court INTEGER PRIMARY KEY AUTOINCREMENT, id_City INTEGER REFERENCES City(id_City), Type VARCHAR(70) NOT NULL, Isset VARCHAR(70) NOT NULL)";
        String createMatch = "CREATE TABLE IF NOT EXISTS Match(id_Match INTEGER PRIMARY KEY AUTOINCREMENT, id_Court INTEGER REFERENCES Court(id_Court), id_Player INTEGER REFERENCES Player(id_Player), id_Player1 INTEGER REFERENCES Player(id_Player))";
        String createPlayer = "CREATE TABLE IF NOT EXISTS Player(id_Player INTEGER PRIMARY KEY AUTOINCREMENT, Name VARCHAR(70),WL FLOAT, Money REAL CHECK ( Money>0))";

public void refresh() {
        if(!listModel.isEmpty()) {
            listModel.removeAllElements();
        }
        try {
            connection = DriverManager.getConnection(DB_URL);
            statement = connection.createStatement();
            result = statement.executeQuery("SELECT m.id_Match, p.Name, p1.Name, c.Type FROM Court c, Match m, Player p, Player p1  WHERE m.id_Court=c.id_Court AND p.id_Player=m.id_Player AND p1.id_Player=m.id_Player1");
            while(result.next()) {
                listModel.addElement(result.getString("id_Match") + " | " + result.getString("Name") + " | " + result.getString("Type"));
            }
            if(statement!=null) {
                statement.close();
            }
            if(connection!=null) {
                connection.close();
            }
        }
        catch(SQLException e) {
            System.err.println("Błąd przy odświeżaniu listy");
            e.printStackTrace();
        }
    }

Exception

        Błąd przy odświeżaniu listy
    java.sql.SQLException: ambiguous column: 'Name'
        at org.sqlite.jdbc3.JDBC3ResultSet.findColumn(JDBC3ResultSet.java:49)
        at org.sqlite.jdbc3.JDBC3ResultSet.getString(JDBC3ResultSet.java:448)
        at Match.refresh(Match.java:85)
        at interf.<init>(interf.java:25)
        at mainF.<init>(mainF.java:15)
        at mainF$1.run(mainF.java:35)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
        at java.awt.EventQueue.access$500(EventQueue.java:97)
        at java.awt.EventQueue$3.run(EventQueue.java:709)
        at java.awt.EventQueue$3.run(EventQueue.java:703)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
        at org.GNOME.Accessibility.AtkWrapper$5.dispatchEvent(AtkWrapper.java:700)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
    Błąd przy odświeżaniu listy
    java.sql.SQLException: ambiguous column: 'Name'
        at org.sqlite.jdbc3.JDBC3ResultSet.findColumn(JDBC3ResultSet.java:49)
        at org.sqlite.jdbc3.JDBC3ResultSet.getString(JDBC3ResultSet.java:448)
        at Match.refresh(Match.java:85)
        at interf$TabbedPaneListener.stateChanged(interf.java:256)
        at javax.swing.JTabbedPane.fireStateChanged(JTabbedPane.java:416)
        at javax.swing.JTabbedPane$ModelListener.stateChanged(JTabbedPane.java:270)
        at javax.swing.DefaultSingleSelectionModel.fireStateChanged(DefaultSingleSelectionModel.java:132)
        at javax.swing.DefaultSingleSelectionModel.setSelectedIndex(DefaultSingleSelectionModel.java:67)
        at javax.swing.JTabbedPane.setSelectedIndexImpl(JTabbedPane.java:616)
        at javax.swing.JTabbedPane.setSelectedIndex(JTabbedPane.java:591)
        at javax.swing.JTabbedPane.insertTab(JTabbedPane.java:731)
        at javax.swing.JTabbedPane.addTab(JTabbedPane.java:798)
        at javax.swing.JTabbedPane.add(JTabbedPane.java:835)
        at interf.<init>(interf.java:30)
        at mainF.<init>(mainF.java:15)
        at mainF$1.run(mainF.java:35)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
        at java.awt.EventQueue.access$500(EventQueue.java:97)
        at java.awt.EventQueue$3.run(EventQueue.java:709)
        at java.awt.EventQueue$3.run(EventQueue.java:703)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
        at org.GNOME.Accessibility.AtkWrapper$5.dispatchEvent(AtkWrapper.java:700)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
juergen d

Deux colonnes de votre sélection sont nommées Name.

SELECT m.id_Match, p.Name, p1.Name ...

Ensuite, vous essayez d'en obtenir un avec

result.getString("Name")

Comment le programme devrait-il savoir lequel? Ce n'est pas clair - ambigu comme le dit l'erreur.

Utilisez un nom d'alias différent pour au moins l'un d'entre eux.

SELECT m.id_Match, p.Name as p_name, p1.Name as p1_name ...

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Erreur étrange avec SQLite étendant SQLiteOpenHelper

Android SQLite étrange erreur

erreur étrange avec attribut introuvable

erreur sqlite étrange dans gosqlite (golang)

Erreur de positionnement étrange avec Bootstrap

erreur étrange avec DUMP dans Pig

Erreur de syntaxe étrange avec theano

Erreur étrange avec promesse et braise

Erreur étrange avec le préprocesseur

Erreur étrange avec Keras et Spyder

Erreur étrange avec Symfony-2.8

erreur de segmentation étrange, probablement avec realloc

erreur sqlite jdbc SQLITE_IOERR_LOCK

La création de SparkSQL jdbc Federation avec une table de base de données Oracle échoue avec une erreur étrange

Erreur populaire - org.sqlite.JDBC

Erreur étrange Powershell `Set-AWSCredentials` avec le fichier INI

Erreur de compilation étrange avec la notation à vie: "attendu`: `, trouvé`> `"

Erreur étrange avec l'implémentation de Scala Generics

CakePHP 3 Advanced Query Not Null avec une erreur étrange "QueryExpression"?

Erreur étrange avec les étiquettes des axes matplotlib

Heroku push a échoué avec un message d'erreur étrange

Erreur de compilation étrange avec l'importation @testable

Message d'erreur étrange avec les interfaces Idris

erreur étrange avec fwrite et struct en C

Comment utiliser FileReader avec React? (obtenir une erreur étrange)

SlimPHP - erreur étrange avec extension de brindille (fonction)

Azure SQL avec Node mssql donnant une erreur étrange

Erreur étrange avec KeyPath sur la valeur facultative

Erreur étrange près de '' MySQL avec une fonction

TOP liste

  1. 1

    Microsoft.WebApplication.targets

  2. 2

    Exporter la table de l'arborescence vers CSV avec mise en forme

  3. 3

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  4. 4

    Comment analyser un hachage Ruby plat en un hachage imbriqué?

  5. 5

    Passer la taille d'un tableau 2D à une fonction ?

  6. 6

    Comment créer une nouvelle application dans Dropbox avec des autorisations complètes

  7. 7

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  8. 8

    Laravel SQLSTATE [HY000] [1049] Base de données inconnue 'previous_db_name'

  9. 9

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  10. 10

    php ajouter et fusionner des données de deux tables

  11. 11

    Créer un système Buzzer à l'aide de python

  12. 12

    Existe-t-il un moyen de voir si mon bot est hors ligne ?

  13. 13

    Comment changer la couleur de la police dans R?

  14. 14

    Déplacement des moindres carrés d'ajustement pour les déplacements de points ayant des problèmes

  15. 15

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  16. 16

    Comment vérifier si un utilisateur spécifique a un rôle? Discord js

  17. 17

    comment afficher un bouton au-dessus d'un autre élément ?

  18. 18

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  19. 19

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  20. 20

    optimiser les opérations du serveur avec elasticsearch: traitement des filigranes de disque bas

  21. 21

    Comment analyser un fichier avec un tableau d'objets JSON en utilisant Node.js?

chaudétiquette

Archive