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

Windows Forms Discussion :

[VB.NET] lien d'une base de donnée dans une variable


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 20
    Points : 13
    Points
    13
    Par défaut [VB.NET] lien d'une base de donnée dans une variable
    Bonjour,

    j'aimerais avoir la possibilité de modifier le lien d'accés a une base de donnée ACCESS a l'aide d'un TEXTBOX et OpenFileDialog.

    Au moment de l'ouverture de la connection à la base de donnée j'utilise ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.conn = "provider = microsoft.jet.oledb.4.0 ; data source =" & _
                           Application.StartupPath & "\Journal.mdb" 'Défini le lien ou se trouve la base de connée ACCESS
    Je pensais modifier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.StartupPath & "\Journal.mdb"
    en le remplacent par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.StartupPath & My.Setting.Lien2
    avec lien2 contenant par exemple c:\Journal.mdb

    ou alors par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.StartupPath & Me.LienMdb
    LienMdb variable contenant le lien (ex: C:\Journal)

    Hors le probleme est que quand c'est variable sont remplies par un lien de type C:\....\Journal.mdb le programme me retourne une ERREUR
    Par contre si les variable contiennent un lien de type \Journal.mdb cela marche Nikel.

    J'ai bien verifié que la base de données été presente.

    Ma question est donc Pourquoi le logiciel fonctionne quand la BD se trouve dans le mème dossier que le programme et Pourquoi il ne fonctionne pa quand la BD et dans une autre lien (ex : C:\Journal.mdb) ?

    Merci

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut Re: [VB.NET] lien d'une base de donnée dans une variable
    Citation Envoyé par Anubis666
    ...Hors le probleme est que quand c'est variable sont remplies par un lien de type C:\....\Journal.mdb le programme me retourne une ERREUR
    Fait un Try Catch et tu sauras quelle est la nature de l'exception levée et donc la piste à ta question
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre averti
    Avatar de Rami
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 177
    Points : 330
    Points
    330
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.StartupPath & Me.LienMdb
    LienMdb variable contenant le lien (ex: C:\Journal)

    Hors le probleme est que quand c'est variable sont remplies par un lien de type C:\....\Journal.mdb le programme me retourne une ERREUR
    si tu as un chemin absolue c:\... (ce que te renvois la dialogue a priori), ne concatenes pas avec Application.StartupPath sinon tu as un chemin faux... d'ou l'erreur a mon avis.

    en utilisant comme connection string
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     "provider = microsoft.jet.oledb.4.0 ; data source =" & Me.LienMdb
    ca doit passer...
    Ex Moderateur .Net

  4. #4
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Le try catch me retourne comme erreur que le Nom du fichier est incorrect ! Hors le Nom et rigoureusement exacte car je l'est vérifié et reverifé et pui sans modifier le non mé en passant de c:\Journal.mdb et \Journal.mdb cela marche :-(

  5. #5
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par Anubis666
    Le try catch me retourne comme erreur que le Nom du fichier est incorrect ! Hors le Nom et rigoureusement exacte car je l'est vérifié et reverifé et pui sans modifier le non mé en passant de c:\Journal.mdb et \Journal.mdb cela marche :-(
    a mon avis il te parle du Path du fichier (ArgumentException...) et pas du Nom
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  6. #6
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    voila l'erreur qui est retournée :

    System.Data.OleDb.OleDbException: Nom de fichier incorrect.
    at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
    at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
    at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
    at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
    at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
    at System.Data.OleDb.OleDbConnection.Open()
    at FMC_Watcher.Form1.InitializeData() in C:\Documents and Settings\donjonb\Mes documents\Visual Studio 2005\Projects\18-01 FMC 2\FMC 2\Form1.vb:line 70

  7. #7
    Membre éclairé Avatar de zeavan
    Architect
    Inscrit en
    Avril 2003
    Messages
    590
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Autre

    Informations professionnelles :
    Activité : Architect

    Informations forums :
    Inscription : Avril 2003
    Messages : 590
    Points : 774
    Points
    774
    Par défaut
    Application.StartupPath te retourne le path ou ton appli est situee
    la ta db est apperment situe su c: alors pas etonnant que tu recoive une erreur.

    bon prend un opendialog que tu fou sur ta form mais comme start path ton Application.StartupPath pour ton open dialog puis cherche le fichier et vois si tu peux le retrouver.


    en gros ton Path est bidon corrige le c'est tout.

  8. #8
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    c'est bon ca marche avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "provider = microsoft.jet.oledb.4.0 ; data source =" & Options.LienMdb
    j'avais deja essayé ce code mais j'avais du me tromper avec une syntaxe

    Merci

  9. #9
    Membre averti
    Avatar de Rami
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 177
    Points : 330
    Points
    330
    Par défaut
    a quoi ca sert que Du***s il se décarcasse ^^
    Ex Moderateur .Net

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

Discussions similaires

  1. [MySQL] Remplacer une chaîne de caractères dans une base de données
    Par Furius dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 27/11/2013, 21h06
  2. [Débutant] Ajouter des données dans une base de données asp.net
    Par pemco dans le forum ASP.NET
    Réponses: 5
    Dernier message: 15/08/2013, 10h05
  3. inserer les données d'une base de données dans une autres?
    Par enstein8 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 14/10/2011, 13h33
  4. Réponses: 1
    Dernier message: 22/07/2011, 14h30
  5. [AC-2007] liens entres données dans une base de donnée
    Par monza dans le forum Modélisation
    Réponses: 3
    Dernier message: 12/08/2009, 21h11

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