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

VB.NET Discussion :

INSERT d'un DateTimePicker -> SQL CE


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Par défaut INSERT d'un DateTimePicker -> SQL CE
    Bonjour à tous

    Je vous écrit car je me heurte à un petit soucis en VB.NET. Pour vous situer le contexte, voici ce que je voudrais faire :

    - Un client possède une "fiche client"
    - On peut attribuer des "événements" à cette fiche client
    - On peut attribuer une date à un événement via un DateTimePicker et c'est là que ça ne va plus

    Je vous montre ma démarche pour
    1) Récupérer la date
    2) Ma requête d'INSERT

    1. Récupération de la date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim myDate As Date
                dtpRepasCreerFiche.Format = DateTimePickerFormat.Custom
                dtpRepasCreerFiche.CustomFormat = "dd/MM/yyyy"
                myDate = dtpRepasCreerFiche.Value.Date
                MsgBox(myDate)
    Je récupère bien la date (test avec la "MsgBox")

    2. INSERT dans la BD SQL CE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BarowSoft.BddManager.InsertSQL("INSERT INTO Evenement (libelle_evenement, nom_client_evenement, [date_evenement], [date_repas_evenement]) VALUES ('" & cbEvtRepasCreerFiche.Text & "', '" & tbNomCreerFiche.Text & "', GETDATE(), " & myDate & " )")
    Le/Les problème(s) est/sont :
    - Avec ce code ci-dessus on a un INSERT d'une date mais "01/01/1900" donc je suppose que mon format n'est pas le bon pour SQL CE
    - Lorsque je met une date en "dur" dans ma requête SQL du style "18/05/2010" il m'insert une date aléatoire dans mon champs :/
    - Le GETDATE() marche, je suppose donc que mon format de date n'est pas le bon pour SQL CE et en faisant cette requête, ça ne marche pas non plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BarowSoft.BddManager.InsertSQL("INSERT INTO Evenement (libelle_evenement, nom_client_evenement, [date_evenement], [date_repas_evenement]) VALUES ('" & cbEvtRepasCreerFiche.Text & "', '" & tbNomCreerFiche.Text & "', GETDATE(), " & dtpRepasCreerFiche.Value.Date.ToString("dd/MM/yyyy") & " )")
    - > Rend 01/01/1900

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dtpRepasCreerFiche.Value.Date.ToString("yyyy-MM-dd")
    - > Rend une date aléatoire ?

    Informations sur le BD :
    - SQL Compact Edition
    - Le champs "date_repas_evenement" est au format datetime

    Si quelqu'un pouvait m'aider sur ce petit soucis

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    ne jamais insérer une date as string dans une requete ! (déjà il faut des ' autour de la date ou convert(datetime,'')

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    .commandtext = "insert into matable  (chdate) values (@paramdate)"
    .parameters.Add("@paramdate",dbtype.datetime).value = ma_variable_as_date
    comme ca entre vb et le sgbdr ca reste un type date sans convertion en string qui peut amener des tas d'erreur, comme l'inversion du mois et du jour


    il est aussi déconseillé de concaténer des valeur de textbox dans une requete, là aussi utiliser des dbparameters
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre habitué
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Par défaut
    Problème résolu

    Merci Pol63 pour les indications, et les conseils, ça va bien me servir !

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

Discussions similaires

  1. Probleme datetimepicker et sql server 2005
    Par dubidon dans le forum VB.NET
    Réponses: 9
    Dernier message: 14/05/2007, 16h04
  2. syntaxe d'insertion d'une variable dans SQL Server
    Par hariri dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/04/2007, 17h00
  3. Insert et select en PL/SQL
    Par Bonjovi51 dans le forum PL/SQL
    Réponses: 19
    Dernier message: 19/10/2006, 14h21
  4. PB Insertion en base de données (Sql serveur)
    Par titou250 dans le forum ASP
    Réponses: 1
    Dernier message: 11/07/2006, 17h15
  5. DateTimePicker avec sql
    Par sondo dans le forum Bases de données
    Réponses: 12
    Dernier message: 30/06/2006, 17h31

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