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 :

Update BDD Access avec Recorset [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 136
    Par défaut Update BDD Access avec Recorset
    Bonsoir tous le monde.

    Depuis peu, j'utilise les bases de données en ADO avec Recordset et une base de données Access ".mdb" version 2000.

    Pour la majorité des commandes, que ce soit le INSERT, SELECT, DELETE, je n'ai pas de souci, cela marche .

    Par contre j'ai une colle concernant le UPDATE. J'ai regardé les tutos réalisé ici "partie tutorial" mais malgré cela, sa ne fonctionne pas .

    Voici mon 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
    19
    20
     
    N_ville = me.textbox1.text
     
    Dim conna As New ADODB.Connection
    Dim sqla1 As New ADODB.Command
    Dim orsa1 As New ADODB.Recordset
     
    conna.Provider = "Microsoft.Jet.OLEDB.4.0"
    conna.ConnectionString = lienBDD
    conna.Open()
     
    sqla1.ActiveConnection = conna
    sqla1.CommandText = "UPDATE ville='" & N_Ville & "' SET Info Where Num=1"
    orsa1.Open(sqla1)
     
    orsa1 = Nothing
    sqla1 = Nothing
     
    conna.Close()
    conna = Nothing
    l'erreur se situe sur la ligne suivante :
    Erreur : L'Exception COMexception n'as pas été gérée
    Erreur de syntaxe dans l'instruction UPDATE.

    J'ai éssayé en virant la ligne qui créer l'erreur, donc en supprimant "orsa1.open(sqla1)". Pas très futé de ma part. Enfin, j'ai pas d'erreur, mais bon il se passe rien.

    du coup, j'ai utilisé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Try
    Catch as execption 
         Msgbox(ex.message)
    end try
    Et voici l'erreur qui ressort :
    "Erreur de syntaxe dans l'instruction UPDATE"

    Donc en fait qu'est-ce que je veux faire :

    Dans ma bbd, j'ai une valeur dans la colonne "Ville" et je voudrais remplacer cette valeur par celle de la textbox1...... Mais j'y arrive pas

    Si une personne veut bien m'expliquer ????

    Merci

  2. #2
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    Bonsoir,

    Pour l'erreur "Erreur : L'Exception COMexception n'as pas été gérée" -> Logique si tu n'as pas mis de try catch, elle signifie que tu as eu une exception (erreur) mais que tu ne la gère pas.

    Pour ton update, ta requête me semble effectivement fausse.

    Je suppose que tu as une table Info avec un champ Ville et un champ Num (id).

    Ta requête devrait donc être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sqla1.CommandText = "UPDATE Info set ville='" & N_Ville & "' Where Num=1"
    Attention aussi si ta variable N_Ville venait à comprendre une chaine de caractère comportant des apostrophes ('), il faut les doubler pour conserver une syntaxe correcte. Pour éviter ce genre de problème je te conseille de voir du coté des requêtes paramétrées.
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 136
    Par défaut
    Effectivement c'était pas top mon truc. J'ai inversé comme tu m'as dit dans la syntaxe Update et du coup, forcément que cela ne marche pas.

    C'est idiot car j'aurais pu trouver. Mais à 22h00 hier, j'avais plus les yeux en face des trous.

    Quoi qu'il en soit merci pour ta rapide réponse.


    Ps,, en fait l'histoire du Try, catch, ex.message... je l'utilise pas trop car quand j'ai une erreur, VS me renvoi directement sur la ligne qui cloche, tandit qu'avec ex.message, il y a juste une boîte de dialogue.

  4. #4
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    Pour la gestion des erreurs avec try catch, d'accord sur ta réflexion mais il fait absolument les utiliser, car un utilisateur préfère un message box avec une erreur et le programme qui continue à fonctionner, qu'un plantage pure et dure ...
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

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

Discussions similaires

  1. Connecter une BDD ACCESS avec DbExpress
    Par gilardino dans le forum Débuter
    Réponses: 7
    Dernier message: 03/04/2008, 20h38
  2. VB2005 Accès à une bdd access avec un loginform
    Par Herlece dans le forum Windows Forms
    Réponses: 6
    Dernier message: 06/01/2008, 16h50
  3. [C#] DetailsView et Update BDD Access
    Par BigMike dans le forum ASP.NET
    Réponses: 19
    Dernier message: 10/07/2007, 16h19
  4. synchroniser bdd access avec oracle
    Par andreditdd dans le forum Bases de données
    Réponses: 17
    Dernier message: 04/05/2007, 16h24
  5. Comment créer une Table dans 1 Bdd ACCESS avec Builder??
    Par makandja dans le forum C++Builder
    Réponses: 6
    Dernier message: 17/03/2004, 20h21

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