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

HyperFileSQL Discussion :

Point Interrogation dans requete ODBC + HF12


Sujet :

HyperFileSQL

  1. #1
    Candidat au Club
    Inscrit en
    Février 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Point Interrogation dans requete ODBC + HF12
    Bonjour,

    Je doit insérer des enregistrement dans une base HF(V12) depuis une applie écrite en VB.net au travers du driver ODBC. Cela fonctionne très bien sauf quand la chaine à insérer contient un point d'interrogation (?).

    J'ai essayé de l'échapper dans ma requête (\?) mais cela ne fonctionne pas non plus.

    Quelqu'un peut-il me venir en aide, car je ne sait pas si c'est un problème d'échappement ou d'encodage ou autre.

    Pour info les données viennent d'une base mysql.

    Bonne soirée.

  2. #2
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 42
    Points
    42
    Par défaut
    Bonsoir

    j ai essayé d'insérer un point "?" dans une recherche de chaîne comme ci dessous et aucune erreur n'est retournée, en tous les cas sans passer par un driver ODBC. Donc, j'en conclu que le problème se situe peut être au niveau du driver ?

    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
     
    SELECT 
    	Comptes.IDComptes AS IDComptes,	
    	Comptes.IDChantiers AS IDChantiers,	
    	Comptes.IDClient AS IDClient,	
    	Comptes.IDPlanComptable AS IDPlanComptable,	
    	Comptes.LettrageIndic AS LettrageIndic,	
    	Comptes.Libelléopération AS Libelléopération,	
    	Comptes.Débit AS Débit,	
    	Comptes.Crédit AS Crédit,	
    	Comptes.Pièce AS Pièce,	
    	Comptes.Journal AS Journal,	
    	Comptes.Date AS DATE,	
    	Comptes.LettrageSoldé AS LettrageSoldé,	
    	Comptes.Lettrage_Partiel AS Lettrage_Partiel
    FROM 
    	Comptes
    WHERE 
    	Comptes.Pièce = '?'
    	AND Comptes.LettrageIndic IS NULL 
    	OR Comptes.LettrageIndic = 0

  3. #3
    Candidat au Club
    Inscrit en
    Février 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Je ne suis pas certain que le problème vienne du driver puisque tout le reste fonctionne. Seul ce ? pose problème.

    Peux tu tester la chose avec une requete d'insertion genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO table (champ) VALUES ('mkjhnklùkojù?')
    Pour info la même routine tournait sans soucis avec la version 11 de HF et sa DLL idoine.

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Bonjour,

    Tu n'est pas très explicite:
    « cela ne fonctionne pas »
    Il y a peut-être un message d'erreur, non ?
    Citation Envoyé par xabs55 Voir le message

    Je doit insérer des enregistrement dans une base HF(V12) depuis une applie écrite en VB.net au travers du driver ODBC. Cela fonctionne très bien sauf quand la chaine à insérer contient un point d'interrogation (?).

    J'ai essayé de l'échapper dans ma requête (\?) mais cela ne fonctionne pas non plus.

    Quelqu'un peut-il me venir en aide, car je ne sait pas si c'est un problème d'échappement ou d'encodage ou autre.
    Moi aussi (à première vue et sans plus d'information) je dirai que c'est un problème à rechercher du côté ODBC.
    _

  5. #5
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par xabs55 Voir le message
    Je ne suis pas certain que le problème vienne du driver puisque tout le reste fonctionne. Seul ce ? pose problème.

    Peux tu tester la chose avec une requete d'insertion genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO table (champ) VALUES ('mkjhnklùkojù?')
    Pour info la même routine tournait sans soucis avec la version 11 de HF et sa DLL idoine.
    Bonsoir,

    Désolé, j'avais oublié de cocher l option suivi !

    Bon alors j ai essayé avec la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO TypeSuivi(Type)
    VALUES ('ESSAI??')
    Et idem avec un seul "?" ,çà fonctionne parfaitement, regarde aussi du coté des espaces... Mais visiblement, c'est pas un problème sur Windev...

    Bonne recherche et bon dev...

    Arnaud

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut driver odbc plante sur point d'interrogation
    Bonjour,
    est-ce que vous avez trouvé une solution au problème?
    J'utilise le driver ODBC pour HyperfileSQL version 15.
    J'aimerais modfier du texte qui contient un point d'interrogation. Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update table set texte='texte avec ?' where cle='A1234'
    Le driver ODBC plante et dans le journal d'application j'ai Application error, Event id 1000, (...) faulting module wd150hfo.dll, version 15.0.1.800 (...)

    Je cherche de solutions de contournement mais je n'en trouve pas. Est-ce qu'on peut représenter un point d'interrogation d'une autre manière? HyperfileSQL est limité.
    • comme déjà mentionné '\?' ne fonctionne pas

    • la fonction char n'existe pas (char(63) = '?')

    • les chaines binaires litérales n'existent pas (X'3f' ='?')

    Est-ce que quelqu'un a une meilleure idée? Est-ce qu'il existe des codes d'échappement pour définir un caractère en représentation hexadécimale, comme "\x3f" en php par exemple?
    Merci d'avance pour votre aide précieuse

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/10/2011, 11h43
  2. Point d'interrogation dans le menu systeme
    Par [Mel] dans le forum MFC
    Réponses: 1
    Dernier message: 29/03/2007, 11h59
  3. Point d'interrogation dans UPDATE
    Par the_bmo dans le forum MySQL
    Réponses: 1
    Dernier message: 18/10/2006, 11h58
  4. Des points d'interrogation dans le retour js
    Par franculo_caoulene dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/11/2005, 16h25

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