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

WinDev Discussion :

La fonction 'SQLLitCol' aurait dû renvoyer une valeur [WD20]


Sujet :

WinDev

  1. #1
    Membre averti Avatar de tunizar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 573
    Points : 427
    Points
    427
    Par défaut La fonction 'SQLLitCol' aurait dû renvoyer une valeur
    Bonjour,
    J'ai une base SqlServer avec une table qui contient une colonne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [DataInfo] [varchar](max) NULL,
    Quand cette colonne est vide tout se passe bien, mais si elle n'est pas vide (ou non NULL), ça ne passe pas
    Exemple :
    Pour 1300 enregistrements s'il y a 700 enregistrements qui ont cette colonne non vide (ou non NULL) ça casse

    Pour 1300 enregistrements s'il y a 100 enregistrements qui ont cette colonne non vide (ou non NULL) ça passe


    N.B : J'utilise hOledbSQLServer et mon Syntaxe est correcte

  2. #2
    Invité
    Invité(e)
    Par défaut
    On peut voir ton code?

  3. #3
    Membre averti Avatar de tunizar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 573
    Points : 427
    Points
    427
    Par défaut
    Citation Envoyé par romulus001 Voir le message
    On peut voir ton code?
    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
     
    <BLOCK Exécution de la requête>
    	bExecuteReq is boolean = SQLExec(lsTxtSql, "req_loadByCriteria")
    	SQLInfo("req_loadByCriteria")
    	SWITCH bExecuteReq
    		CASE False
    			ExceptionThrow(12,"Erreur SQLExec : " +SQL.MesError)
    		CASE True
    			// Parcours des enregistrements
    			WHILE  SQLFetch("req_loadByCriteria") = 0 
    						lnIndexColumn is int = Val (ProcDetermineNumeroRubrique()) //détermine le numéro du colonne
    						lvRubValue is variant =SQLGetCol("req_loadByCriteria",lnIndexColumn)
    			END
    	END
     
    <END>
    // Fermeture de la requête
    SQLClose("req_loadByCriteria")

  4. #4
    Invité
    Invité(e)
    Par défaut
    Je n'ai jamais fait appel à SQLAvance, j'ai toujours fait avec SQ.EnDehors (habitude que j'avais pris dans mon précédent travail).
    Je ne sais pas si la fonction ProcDetermineNumeroRubrique() renvoie une valeur fixe ou pas, dans mon code, je considère que la valeur est fixe :

    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
    NomRequeteSQL est une chaîne = "req_loadByCriteria"
    Si pas SQLExec(lsTxtSql, NomRequeteSQL) Alors
    	SQLInfo(NomRequeteSQL)
    	ExceptionThrow(12,"Erreur SQLExec : " +SQL.MesErreur)
    sinon
    	lnIndexColumn is int = Val (ProcDetermineNumeroRubrique()) //détermine le numéro du colonne
     
    	SI 1<=lnIndexColumn<=SQL.NbCol Alors
    		SQLPremier(NomRequeteSQL)
    		TANTQUE Pas SQL.EnDehors
    			lvRubValue is variant =SQLCol(NomRequeteSQL,lnIndexColumn)
    			SQLSuivant(NomRequeteSQL)
    		FIN
    	Sinon
    		Erreur("Erreur dans l'indice de la colonne, colonne analysée = " + lnIndexColumn)
    	Fin
    Fin
    SQLFerme(NomRequeteSQL)
    EDIT : modification de la condition de la boucle TANTQUE + la fonction SQLCol remplace SQLGetCol
    Dernière modification par Invité ; 20/01/2017 à 12h12.

  5. #5
    Membre averti Avatar de tunizar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 573
    Points : 427
    Points
    427
    Par défaut
    Merci pour la réponse, je testerai dans l'après midi !!

  6. #6
    Membre averti Avatar de tunizar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 573
    Points : 427
    Points
    427
    Par défaut
    Bonjour,
    Le problème vient du chargement d'une dll WinDev, alors j'ai fais une temporalisation de 3 secondes entre chaque appel et ça fonctionne!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Renvoyer une valeur texte en fonction d'une date
    Par Naomidu13 dans le forum Excel
    Réponses: 5
    Dernier message: 23/07/2015, 15h22
  2. Fonction importée d'une DLL renvoyant une valeur vide
    Par globulik dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/02/2009, 23h01
  3. Probleme vba pour renvoyer une valeur en fonction de deux criteres
    Par tarif dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/04/2008, 19h28
  4. [C#] Renvoyer une valeur à la fermeture d'une forms
    Par diaboloche dans le forum Windows Forms
    Réponses: 6
    Dernier message: 14/03/2006, 11h54
  5. Réponses: 1
    Dernier message: 22/09/2005, 15h46

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