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 :

Accéder à une base de données


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 106
    Points : 67
    Points
    67
    Par défaut Accéder à une base de données
    Bonjour,

    J'aurais voudrait savoir comment accéder à une base de données (VB.NET, Access, ou etc.) pour pouvoir écrire et lire son contenu.

    Exemple: Nom Prénom Age
    Ivon Gerg 38
    Jane Stack 27
    etc. etc. etc.

    Merci

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 89
    Points : 52
    Points
    52
    Par défaut
    Il est d'abord important de préciser lequel Access tu utilises 2003 ou 2007 ?

    Pour le 2007:

    Tu vas dans ton programme dans les menu de la bar de tâches en haut tu click sur "Projet>Module" ensuite tu auras un nom du style Module.vb mais tu le nommeras Globale.vb ou le nom que tu souhaites!!

    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
    Imports System.Data.OleDb
    Module Globale
        Private m_laConnection As OleDbConnection
        Public Sub Initialiser()
            m_laConnection = New OleDbConnection()
     
            m_laConnection.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source="ton chemin accès à ta base";Persist Security Info = False;"
     
            m_laConnection.Open()
        End Sub
        Public ReadOnly Property connexion()
            Get
                Return m_laConnection
            End Get
        End Property
    End Module
    Et dans formulaire tu vas sur ton Insérer ou Valider (je sais pas comment tu l'a nommé) tu fais ceci:

    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
    Imports System.Data
    Imports System.Data.OleDb
     
    Private Sub BttValider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BttValider.Click
     
            Globale.Initialiser()
     
                'CREATION DE LA REQUETE ET DECLARATION DE LA REQUETE
                'CETTE REQUETE SERT A INSERER LES DONNEES DANS UNE BASE 
                Dim Marequete As String
     
                Marequete  = "INSERT INTO 'TableNom' (nom, prenom,age) values ('" & Nom.Text & "','" & Prenom.Text & "'," & age.Text & ")"
     
                'LA COMMANDE
     
                Dim maCommande As OleDbCommand
                maCommande = New OleDbCommand()
                maCommande.Connection = Globale.connexion
                maCommande.CommandType = CommandType.Text
                maCommande.CommandText = Marequete
     
                'EXECUTION
                maCommande.ExecuteNonQuery()
    Voila un petit exemple à toi de jouer maintenant et en espérant que c'est bien ce que tu demandais!!


    La hâte engendre en tout l'erreur, et de l'erreur sort bien souvent le désastre

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 106
    Points : 67
    Points
    67
    Par défaut
    Merci andy331 pour le code.
    Je l'essais et je t'en reparle après.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 106
    Points : 67
    Points
    67
    Par défaut
    Ok andy331,

    Tout semble fonctionner appart une petite erreur:
    Le fournisseur 'Microsoft.ACE.OLEDB.12.0' n'est pas inscrit sur l'ordinateur local.
    Cette erreur se produit sur Saurait-tu comment régler cette erreur?
    Est-ce qu'il me manque une dll?

    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
    Imports System.Data.OleDb
    Module Globale
        Private m_laConnection As OleDbConnection
        Public Sub Initialiser()
            m_laConnection = New OleDbConnection()
     
            m_laConnection.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source=" & My.Computer.FileSystem.CurrentDirectory & "\Database1.accdb" & ";Persist Security Info = False;"
     
     
            m_laConnection.Open()
        End Sub
        Public ReadOnly Property connexion()
            Get
                Return m_laConnection
            End Get
        End Property
    End Module

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 89
    Points : 52
    Points
    52
    Par défaut
    Normal le chemin d'accès à ta base n'est pas bon

    tu dois avoir ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_laConnection.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source=C:\Database1.accdb;Persist Security Info = False;"
    et non comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_laConnection.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source=" & My.Computer.FileSystem.CurrentDirectory & "\Database1.accdb" & ";Persist Security Info = False;"
    Ou simple si tu utilises Access 2003 et tout change et ça te donnera ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;

    La hâte engendre en tout l'erreur, et de l'erreur sort bien souvent le désastre

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 106
    Points : 67
    Points
    67
    Par défaut
    Salut andy331,

    même avec le code de la manière que tu le dit, il me montre toujours la même erreur.

    Si tu as une idée, dis-moi la.

  8. #8
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    J'utiliserai plûtot une connection string comme celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim sConnString As String = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ 
    "Data Source=C:\myPath\myDataBaseFile.mdb;" & _ 
    "User ID=Admin;" & _ "Password="
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 106
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par Eric_M Voir le message
    Ok andy331,

    Le fournisseur 'Microsoft.ACE.OLEDB.12.0' n'est pas inscrit sur l'ordinateur local.
    Cette erreur se produit sur
    Ça me fait encore la même erreur. Est-ce que l'on peut utiliser la base de données de VB.NET à la place? Si oui, comment?

    Merci d'avance.

  10. #10
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    La base de données VB.Net ne veut rien dire! VB.Net est un language de programmation! Il faudrait que tu suives attentivement les différents tutoriels de ce site.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 106
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par PitMaverick78 Voir le message
    La base de données VB.Net ne veut rien dire! VB.Net est un language de programmation! Il faudrait que tu suives attentivement les différents tutoriels de ce site.
    Oui, je sais tout ça déjà.
    Je voulais dire que dans le logiciel de programmation de VB.NET ainsi que de C#, on peut créer une base de données en l'ajoutant à notre projet.

    Suis-je plus clair?

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    ca doit etre sql server compact edition
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 106
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    ca doit etre sql server compact edition
    Ok, je vais l'essayer.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 106
    Points : 67
    Points
    67
    Par défaut
    Bonjour,

    J'ai réussit à créer une base de données Access éditable à partir d'un DataGridView dans ma form.

    Le problème, c'est que cette base de données est éditable que manuellement, et j'aurais besoin qu'elle soit automatique.

    Pour être plus clair, je voudrais que lorsque que l'on clique sur le buton1, sa ajoute à la database une rangée d'information.
    Ex.: (MonNom, MonPrénom, etc)

    voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
       Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim con As New OleDb.OleDbConnection
            Dim data As New OleDb.OleDbDataAdapter
     
            con = New OleDb.OleDbConnection("PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source =C:\Database41.accedb")
            con.Open()
            data = New OleDb.OleDbDataAdapter("select * from Prénom", con)
            data.Fill("MonDeuxièmeNom", "1")
        End Sub
    Il me donne cette erreur:

    Could not find 'C:\Database41.accedb'
    Merci

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    l'erreur est assez explicite, le fichier C:\Database41.accedb n'existe pas ou tu n'as pas les droits d'accès

    à l'époque une base access c'était un .mdb, ca a peut etre évolué depuis ...


    sinon pour ajouter des données :
    INSERT INTO table (ch1, ch2 ...) values (v1, v2)


    m'enfin je te conseille de lire un cours, car si tu ne sais pas ca tu va passer ton temps à poser des questions et ca va te prendre la tete de bloquer toutes les 5 minutes
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 106
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    l'erreur est assez explicite, le fichier C:\Database41.accedb n'existe pas ou tu n'as pas les droits d'accès
    Le fichier existe, mais je n'ai peut-être pas les droits d'accès (en passant, je suis sous windows xp).

    Merci quand même Pol63. Je vais suivre ton conseil et lire un cours.

  17. #17
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    C'est l'extension de ton fichier qui n'est pas bon ca devrais plutôt être

    C:\Database41.mdb
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 106
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par lilroma Voir le message
    C'est l'extension de ton fichier qui n'est pas bon ca devrais plutôt être
    Oui mais moi j'utilise office 2007, faut-il que je sauvegarde ma database access en mode de compatibilité?

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    Citation Envoyé par Eric_M Voir le message
    Oui mais moi j'utilise office 2007, faut-il que je sauvegarde ma database access en mode de compatibilité?
    non je ne pense pas
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  20. #20
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    Bonjours,
    essaye de te connecter à une Base Access de type .mdb *voir ce qu'il en pense*

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    con = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" &_
     "Data Source=C:\Database.mdb"
    et je sais pas si a une importance,
    mais moi je met un ";" a la fin comme dans le tuto
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'Initialisation de la chaîne de paramètres pour la connexion
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" &_
    "Data Source= c:\nom.mdb;"

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/07/2006, 14h49
  2. [MySQL] Accéder à une base de données d'une autre site (sur un autre serveur)
    Par FCDB dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/06/2006, 16h59
  3. Accéder à une base de données distante
    Par rouche dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 31/05/2006, 08h46
  4. [MySQL] Accéder à une base de données distante en local
    Par kint dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/01/2006, 13h40

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