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 :

Création requêtes mise à jour


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 65
    Points : 23
    Points
    23
    Par défaut Création requêtes mise à jour
    Bonjour,

    Sous visual studio 2013 je développe une application en visual basic.

    J'aimerai pouvoir mettre à jour des informations dans une base de données MS Access 2010, pour ce faire je crée ma requête, j'ouvre la connexion, j'exécute la requête, puis je ferme la connexion :

    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
                Dim req As String = "UPDATE People " &
                    "SET laptopAsset='" & TextBoxLaptop.Text & "', computerAsset='" & TextBoxComputer.Text & "', phoneAsset='" & TextBoxPhoneAsset.Text & "', phoneNumber='" & TextBoxPhoneNumber.Text & "', badgeAsset='" & TextBoxBadge.Text & "', screenAsset1='" & TextBoxScreen1.Text & "', screenAsset2='" & TextBoxScreen2.Text & "', smartPhoneAsset='" & TextBoxSmartPhoneAsset.Text & "', smartPhoneNumber='" & TextBoxSmartPhoneNumber.Text & "' " &
                    "WHERE Site='" & aPeople.office.Site & " ' AND Building='" & aPeople.office.Building & "' AND Modul='" & aPeople.office.Modul & "' AND Room='" & aPeople.office.Room & "' AND Desk='" & aPeople.office.Desk & "' AND StartDate=#" & aPeople.StartDate & "#"
                Try
                    Using connection As New OleDbConnection(acc.ac_CONNEXION)
                        connection.Open()
                        Dim command As New OleDbCommand(req, connection)
                        command.ExecuteNonQuery()
                        connection.Close()
                    End Using
                    MessageBox.Show("Update duccessful !")
                Catch ex As Exception
                    MessageBox.Show("Update error : " & ex.Message)
                End Try

    Seulement je n'ai jamais de message d'erreur, donc je présume que tout se passe bien pour Access, cependant la table n'est en aucun cas modifiée.

    Je crois bien qu'il y a d'autres moyens de spécifier des paramètres dans une requête, mais cette façon me convient pour le moment.
    Est-ce que ça pourrait être dû au fait qu'il ne trouve aucun enregistrement répondant aux critères, et donc il ne met rien à jour, et ne me dit pas pour autant qu'il y a une erreur ?
    Même si ça semble bizarre, car toutes mes requêtes utilisent les mêmes types de variable et la même syntaxe, et seulement celle là ne fonctionne pas.

    Cordialement.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,
    La méthode ExecuteNonQuery() retourne le nombre d'enregistrements affectés par la query. Si le retour est 0, cela signifie effectivement qu'aucun enregistrement ne correspond aux critères.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 65
    Points : 23
    Points
    23
    Par défaut
    Merci ebastien,

    Ça va m'aider pour résoudre le problème, même si je ne comprends pas bien pourquoi la date n'est pas reconnue, c'est elle qui semble poser problème, j'ai pu contourner le problème, en utilisant un autre attribut à comparer.

    Cordialement.

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par Thenaar Voir le message
    Je crois bien qu'il y a d'autres moyens de spécifier des paramètres dans une requête, mais cette façon me convient pour le moment.
    Si tu utilisais les requetes parametrees, tu ne serais pas en train de perdre ton temps a gerer des problemes de format de date Au-dela de ca, les requetes parametrees permettent de :
    - Se premunir contre les attaques par injection de code SQL.
    - Ne pas avoir a se soucier des formats de date, de nombre, etc.
    - Figer le plan d'execution de la requete, ce qui evite au SGBD de le recalculer a chaque fois, donc un gain substantiel de performance.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

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

Discussions similaires

  1. [AC-2003] Création Requête Mise A Jour
    Par HaVaNoz dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 03/02/2010, 18h25
  2. Requête Mise à jour à partir d'une autre table
    Par temar dans le forum Access
    Réponses: 2
    Dernier message: 17/05/2006, 09h23
  3. requête mise à jour
    Par yonnakb dans le forum Access
    Réponses: 6
    Dernier message: 07/03/2006, 14h03
  4. Requête mise à jour
    Par maximelm dans le forum Access
    Réponses: 28
    Dernier message: 03/03/2006, 17h35
  5. Réponses: 4
    Dernier message: 01/12/2005, 14h36

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