IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

FDQuery - SQLite - erreur eArgumentOutOfRangeException


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 228
    Par défaut FDQuery - SQLite - erreur eArgumentOutOfRangeException
    Bonjour,

    j'ai besoin d'une aide concernant une petite application en cours de développement.

    j'ai tout simplement qq tables (SQLite) liées à un FDConnection. ces tables sont saisies via des Grid.

    lorsque je valide des données, (peu importe la table) j'ai une erreur :

    Nom : Capture2.PNG
Affichages : 337
Taille : 6,7 Ko

    merci pour vos retours

    bonne journée

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 704
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    manque d'information criant.
    IL faudrait la structure de la table concernée et le code utilisée pour la mise à jour/insertion
    voir aussi si la grille affiche toutes les données ou pas etc...
    savoir si c'est FDtable qui est utilisé ou FDQuery etc...

  3. #3
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 119
    Par défaut
    Déjà la forme du message d'erreur 'Index de ligne, %d, hors limites' c'est du FMX, donc LiveBindings, ce qui doit changer la réflexion très différente de la VCL avec le TDataSource.
    En VCL, la traduction étant 'Indice de ligne, %d, hors limites';

    L'erreur n'est pas lié à la DB mais plutôt à la grille par exemple lors du TStringGrid.GetCells si FMX sinon TGridPanel.

    Mais comme l'exception est une EArgumentOutOfRangeException, c'est donc forcément du TStringGrid.GetCells\SetCells de FMX, seul endroit où cette exception est combiné avec ce message d'erreur

    Il faudrait donc comprendre pourquoi cela tente d'utiliser GetCells\SetCells avec un indice à -1, comme si par exemple la grille était vidée à un moment inapproprié.
    Cela peut-être une mauvaise configuration du LiveBindings qui n'irait pas lire ce qu'il faut.
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 228
    Par défaut
    Bonjour et merci pour vos retours.

    pour répondre à vous deux, voici qq infos :

    toutes les tables sont bâties de la même façon et sont reliées à des Grids reliés en livebindings, je bosse en FMX.

    les tables de la BDD SQLite sont chargées dans des FDQuery.

    voici les liens :
    Nom : Capture3.PNG
Affichages : 270
Taille : 33,5 Ko

    et une table : elle sont ouvertes par FDQuery.open(...);

    et bâties ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
        // Table Cables
        BDE_CABLES = 'CREATE TABLE IF NOT EXISTS %s '+
                       '(CABLES_GUID VARCHAR(40) NOT NULL PRIMARY KEY,'+     
                        'CABLES_Nom VARCHAR(40) NOT NULL,'+             
                        'CABLES_CableType_GUID VARCHAR(40),'+           
                        'CABLES_Centre_Origine VARCHAR(40),'+           
                        'CABLES_Centre_Origine_Rac VARCHAR(15),'+       
                        'CABLES_Centre_Destination VARCHAR(40),'+       
                        'CABLES_Centre_Destination_Rac VARCHAR(15),'+   
                        'CABLES_Voie VARCHAR(15),'+                     
                        'CABLES_Km REAL,'+                             
                        'CABLES_Neuf_Vieux Integer,'+                   
                        'CABLES_Schemas VARCHAR(40),'+                 
                        'CABLES_Meteo1 VARCHAR(20),'+                   
                        'CABLES_Meteo2 VARCHAR(20),'+                   
                        'CABLES_Date VARCHAR(10),'+                    
                        'CABLES_Isol_Entre_Fil VARCHAR(20),'+          
                        'CABLES_Isol_Terre VARCHAR(20),'+               
                        'CABLES_Paire_Temoin VARCHAR(20),'+            
                        'CABLES_AgentVT VARCHAR(40),'+                  
                        'CABLES_Entite VARCHAR(40),'+                  
                        'CABLES_Longueur REAL)';

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 228
    Par défaut
    re,

    afin de suivre les infos de ShaiLeTroll, je me suis "amusé" à mettre deux edit en liaison avec des champs de ma table (au lieu de saisir dans le Grid) lorsque je saisie des donnés dans ces Edit, aucun soucis.

    on dirait que le soucis vient effectivement des Grids, je trouve cela étonnant car j'ai déjà utilisé ces genres de liaisons avec des tables similaires et avec de la saisie !

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 704
    Billets dans le blog
    65
    Par défaut
    Qui dit requête dit nécessité d'un FDUpdateSQL associé est-ce le cas ?

Discussions similaires

  1. [SQLite] Erreur Index 0 requested with a size of 0
    Par TZoaldiek dans le forum Android
    Réponses: 7
    Dernier message: 20/02/2014, 12h28
  2. sqlite, Erreur de segmentation
    Par panthere noire dans le forum C++
    Réponses: 0
    Dernier message: 11/12/2011, 17h07
  3. [SQLite] Erreur "database disk is malformed"
    Par eric-m dans le forum Android
    Réponses: 2
    Dernier message: 09/11/2011, 22h35
  4. SQLite : erreur "database not open"
    Par hodhodeni dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/05/2009, 00h36
  5. [SQLite] Erreur lors de la connexion
    Par Mil17 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/04/2008, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo