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 :

Requete Insertion SQL Serveur [WD11]


Sujet :

WinDev

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Requete Insertion SQL Serveur
    Bonjour,
    J'ai une base de données SQLServeur 2000, la connection ne se fait pas avec l'accés natif mais avec SQL Server (Microsoft OLE DB Provider for SQL Server).
    J'ai créé une requete d'insertion avec l'éditeur de requete et lorsque je veux inserr un enregistrement avec un champs de type smalldatetime, windev 11 me donne le message d'erreur suivant :
    Erreur d initialisation de la requete
    erreur de l acces OLE DB
    numero de l erreur = 170129

    ECHEC de l ouverture du fichier
    description :Erreur de syntaxe lors de la convertion d une chaine de caractere en type de donnes smalldatetime
    .....

    Par contre si j'insere dans ma bdd d'autre ligne sans renseigner ce champs je n'ai pas d erreur.

    Comment inserer vous des enregistrement dans SQL Serveur avec des dates ???

    MErci de votre aide

  2. #2
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 956
    Points : 767
    Points
    767
    Par défaut
    Bonjour,

    Personnellement, je préfère considérer que les date sont des chaîne et au format SQL, c'est à dire 20100303
    Cela fonctionne sans problème, d'autant que cela ne pose pas de problèmes de format.

    Bon courage
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  3. #3
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 125
    Points : 140
    Points
    140
    Par défaut
    Bonjour,

    Sinon il y a le type Date.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    uneDate est une Date = DateDuJour()

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Slt Raptor,
    Je comprends bien, mais lorsque sur l'editeur de req je teste cette derniere, il y a un masque de saisie pour netrer uen valeur date de la forme jj:mm:aa hh:mm:ss et je ne peux donc la tester avec yyyymmdd.
    Merci
    @+

  5. #5
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 615
    Points : 841
    Points
    841
    Par défaut
    Bonjour
    Quelle est exactement ta requête ?
    quand j'ai ce genre de Pb je renseigne une variable qui prends pour valeur la requête ainsi je peux la tester avec un éditeur de requête et voir où cela pêche.
    Gancau

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Ma requete est en SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    INSERT INTO TblRdv
    	( 
    		DateRdv
    	)
    VALUES
    	( 
    		{Param1}
    	 )
    et lorsque je la teste dans mon editeur de requete je saisi dans le masque de saisi : DD:MM:YYYY HH:MM:SS la date, ça plante.

  7. #7
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 615
    Points : 841
    Points
    841
    Par défaut
    Re bonjour
    j'insiste mais que contient exactement ton paramètre ?
    ce n'est pas parce que tu as un masque de saisi en DD:MM:YYYY HH:MM:SS
    que la valeur renvoyée est la même.
    Est-ce que tu as testé depuis un éditeur de requête ton insert avec des valeurs réelles et pas le paramètre ?
    est-ce que tu n'as pas oublié les '?
    Fais un go de ta requête et saisi les valeurs de ton paramètre pour savoir quel format est attendu.
    Gancau

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    aujourd hui je teste uniquement ma requete dans l'editeur et m'en tient au masque de saisi proposé par de dernier donc jj:mm:aaaa hh:mm:ss.
    peux-tu m'expliquer stp ce que tu entends par :
    "Fais un go de ta requête et saisi les valeurs de ton paramètre pour savoir quel format est attendu."
    Merci de ta patience

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    je viens de faire un go avec une valeur et non pas un parametre voir code ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    INSERT INTO TblRdv
    	( 
    		DateRdv
    	)
    VALUES
    	( 
    		'20100212'
    	 )
    et j'ai la m^me erreur !!!!

  10. #10
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 956
    Points : 767
    Points
    767
    Par défaut
    Bonjour,

    Je n'utilise jamais l'éditeur, je préfère écrire mes requêtes, je trouve cela plus simple.

    Mais vous pourriez avoir quelque chose comme cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO TblRdv (DateRdv) VALUES ('"+PARAMETRE+"')
    SI SQLExe "Req1" alors
     
    FIN
    Votre champ de saisie ou colonne peut très bien avoir un format 03/03/2010, de toute manière la valeur de renvoi sera 20100303
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  11. #11
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 615
    Points : 841
    Points
    841
    Par défaut
    Bonsoir
    si tu n'arrives pas à insérer il faudrait peut être passer par la fonnction CAST qui te permettrait de changer le format de ta date en celui attendu
    j'ai trouvé cela sur le site :
    http://msdn.microsoft.com/en-us/libr...7(SQL.80).aspx
    SELECT CAST('2000-05-08 12:35:29.998' AS smalldatetime)
    en faisant une recherche sur le type smalldatetime.
    donc tu peux peut être essayer d'écrire ta requête ainsi et voir le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    INSERT INTO TblRdv
    	( 
    		DateRdv
    	)
    VALUES
    	( 
    		cast('20100212')
    	 )
    je te propose de tenter. Le but étant de trouver la bonne formule et là je n'ai pas sqlserveur sous la main...
    Gancau

  12. #12
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 956
    Points : 767
    Points
    767
    Par défaut
    Bonsoir,

    Pourriez vous communiquer le code de connexion à la BDD SQL
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Bonjour Raptor,
    La connexion à la BDD est faite dans l'analyse, ses infos étendues :

    Persist Security Info=False;Locale Identifier=1036;Prompt=4;General Timeout=0;OLE DB Services=-1;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NBCLM2;Use Encryption for Data=False;Tag with column collation when possible=False;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    Mon problème ne vient pas de la connection, car mes lignes de codes marchent lorsque je lance l'instruction :

    SI PAS HExécuteRequêteSQL(tt,...
    "INSERT INTO TblRdv( DateRdv, codenature) VALUES ( '20100212', 2)") ALORS
    Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo())
    RETOUR
    FIN

    et ne marchent pas si je fais appel à la même requete faite sous l'editeur de requete. Donc je vais courcircuiter ce dernier.
    Merci à tous ceux qui ont pris un peu de leur temps pour me donner un coup de main GANCAU, Raptor92, Tasumy.
    Serge

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

Discussions similaires

  1. [2008] Requete Insertion sql server
    Par judefei dans le forum Développement
    Réponses: 2
    Dernier message: 04/12/2013, 07h21
  2. limite cadence et nombres insertions sql serveur
    Par Yogy dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 13/01/2009, 11h02
  3. [AJAX] requete INSERT sql
    Par icarus54 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/05/2008, 20h57
  4. [Sql serveur] erreur reso general dans ma requete
    Par speed034 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 24/01/2006, 18h54
  5. [SQL] requete INSERT possible?
    Par clad523 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 03/08/2005, 15h42

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