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 :

base de donnée


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut base de donnée
    bonsoir,

    pour écrire dans une base de donnée voici ma procédure module:

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
     
    Imports System.Data
     
    Imports System.Data.OleDb
     
     
    Module ACCES_BASE_ACCESS
     
        '  Déclaration Objet Connexion
     
        Public ObjetConnection As OleDbConnection
     
        ' Déclaration Objet Commande
     
        Public ObjetCommand As OleDbCommand
        Public ObjetCommand1 As OleDbCommand
        Public ObjetCommand2 As OleDbCommand
        Public ObjetCommand3 As OleDbCommand
        Public ObjetCommand4 As OleDbCommand
     
     
        '  Déclaration Objet DataAdapter
     
     
        Public ObjetDataAdapter As OleDbDataAdapter
     
        ' Déclaration Objet DataSet
     
        Public ObjetDataSet As New DataSet() 'Attention au New
     
        'String contenant la 'Requête SQL'
     
        Public strSql As String
     
        ' Déclaration Objet DataTable
     
        Public ObjetDataTable As DataTable
     
        ' Déclaration Objet DataRow (ligne)
     
        Public ObjetDataRow As DataRow
     
        'Numéro de la ligne en cours
     
        Public RowNumber As Integer    'Numéro de l'enregistrement courant
     
        'Paramêtres de connexion à la DB
     
        Public strConn As String
     
        'Pour recompiler les données modifiées avant de les remettre dans le
     
        '"DataAdapter"
     
        Public ObjetCommandBuilder As OleDbCommandBuilder
     
    End Module
    et le code du click:

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
     
    Imports System.Data.OleDb
     
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
                   strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= C:\test\test.mdb;"
     
            ObjetConnection = New OleDbConnection
     
            'Donner à la propriété ConnectionString les paramètres de connexion
     
            ObjetConnection.ConnectionString = strConn
     
            'Ouvrir la connexion
     
            ObjetConnection.Open()
     
            'Instancier un objet Commande
     
            ObjetCommand = New OleDbCommand 'Lier Commande et Connexion
            ObjetCommand.Connection = ObjetConnection 'Indiquer le type de commande
            ObjetCommand.CommandType = CommandType.Text 'Donner le texte de la commande SQL
            ObjetCommand.CommandText = "UPDATE appli SET application= 'c:\test' WHERE application='C:\test\test.exe'"
            'CInt() si ID est entier.
            'on exécute la commande
            ObjetCommand.ExecuteNonQuery()
     
            'Fermer la connexion
     
            ObjetConnection.Close()
     
        End Sub
    voici ma question : j'utilise "UPDATE" pour mettre a jour une ligne "d'application" selon "WHERE"

    J'aimerais maintenant faire le contraire récupérer la valeur "d'application" selon la condition "WHERE" et la copier dans une variable... que j'ai créé " DIM Recup AS STRING"

    si quelqu'un a une astuce pour m'aider, merci

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    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 202
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ObjetCommand.CommandText = "SELECT champ FROM Table WHERE condition"
    ensuite si tu veux juste une valeur (=une colonne une ligne) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dim valeur as object = ObjetCommand.ExecuteScalar
    si tu veux récupérer la valeur de plusieurs colonnes et/ou lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    dim rdr as system.data.oledb.oledbdatareader = ObjetCommand.ExecuteReader
     
    while rdr.read
      rdr.item("nom de la colonne")
    end while

    while rdr.read permet d'avancer ligne par ligne, rdr.Read retourne false si aucune ligne n'est trouvé
    puis dans le while tu peux lire les valeurs de toutes les colonnes de la ligne
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Full-stack
    Inscrit en
    Novembre 2010
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Full-stack

    Informations forums :
    Inscription : Novembre 2010
    Messages : 373
    Par défaut
    Bonsoir,
    Tout à fait d'accord. remplace "update" par un select. la condition "where" reste la même.

  4. #4
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut
    J'avais essayer avec "ObjetCommand.ExecuteScalar" mais il me mettait une erreur, la meme que j'ai ici... je fais un test sur 2 listbox pour savoir laquelle est selectionné au début et j'ai un doute sur mon teste...



    Ce qui est bisard c'est que quand je selectionne la listbox2 il me met bien la valeur dans "Datribu" mais j'ai une erreur ; et si je selectionne la listbox3 il me met nothing dans Datribu et le meme message d'erreur...

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    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 202
    Par défaut
    Citation Envoyé par tijote Voir le message
    J'avais essayer avec "ObjetCommand.ExecuteScalar" mais il me mettait une erreur, la meme que j'ai ici... je fais un test sur 2 listbox pour savoir laquelle est selectionné au début et j'ai un doute sur mon teste...



    Ce qui est bisard c'est que quand je selectionne la listbox2 il me met bien la valeur dans "Datribu" mais j'ai une erreur ; et si je selectionne la listbox3 il me met nothing dans Datribu et le meme message d'erreur...


    c'est une erreur d'exécution de ta requete, d'ailleurs si tu la colles dans access elle plantera aussi je pense
    il manque les " ou ' autour de la valeur dans le where
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut
    ok je vais essayer, desoler pour le screenshoot, je pensais que ca aurait ete plus clair
    lol

  7. #7
    Membre éclairé
    Homme Profil pro
    Technical Team Leader
    Inscrit en
    Avril 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technical Team Leader
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 235
    Par défaut
    j'ai tester ma requette:
    SELECT DOSSIER
    FROM configMj
    WHERE POSTPRO=ECS;
    je remplace le test1 par ECS et ca marche

    je me demande s'il accepte le test1

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

Discussions similaires

  1. Problème Base de données et CRecordSet
    Par LE CHAKAL dans le forum MFC
    Réponses: 3
    Dernier message: 20/08/2002, 11h59
  2. connexion base de donné
    Par saidi dans le forum MFC
    Réponses: 3
    Dernier message: 07/08/2002, 22h22
  3. [Concept] Stabilité d'une base de donnée
    Par lassmust dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 03/07/2002, 16h16
  4. Bases de données
    Par dev dans le forum C++Builder
    Réponses: 4
    Dernier message: 01/07/2002, 22h55
  5. associer une base de données(access) a un dbgrid
    Par ange1708 dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2002, 12h18

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