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 6 et antérieur Discussion :

VB6 vers SQLite


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Points : 20
    Points
    20
    Par défaut VB6 vers SQLite
    Bonjour,
    Mon logiciel est en VB6 et utilise actuellement une BDD Access.
    J'aimerai qu'il utilise une BDD Sqlite3.


    Quelle serait la meilleur solution ?

  2. #2
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    1°) Retrousser ses manches
    2°) chercher sur internet si il y a des info sur vb et sqlite
    3°) commencer a ecrire un projet test pour voir comment çà réagit
    4°) optionellement, nous faire un petit post sur ce qui coince

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Bonjour,
    j'ai pas mal cherché, mais rien de bien pertinant.

    C'est un peu pour ca que je voulais voir si quelqu'un l'avait déjà fait et connaitre la méthode, afin justement de commencer à faire un petit programme test.

  4. #4
    Membre confirmé Avatar de La Praline
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 568
    Points
    568
    Par défaut
    Bonjour,

    En faisant très peu de recherches voici sur quoi je suis tombé: StringConnection
    Bon j'avoue, j'ai triché, je connaissais déjà ce site avant que tu ne poses ta question


    Mais cela prouve que c'est possible de gérer une base de donées de la manière que tu veux le faire...

    Maintenant comme j'aime à le dire... "Y'a qu'à faut que"

    Cordialement

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Merci pour le site ^^

    En fait l'interconnexion se fait toute seule, on a juste a changer le provider :
    Exemple :

    cnnADO_User.Open "Driver=SQLite3 ODBC Driver;Database=" & App.Path & "\dbb.db"

    au lieu de :
    cnnADO_User.Open "Microsoft.Jet.OLEDB.4.0;Database=" & App.Path & "\bdd.db"

    Le seul HIC, c'est qu'il faut utiliser les ADO ...

    Mon logiciel en VB6 ne les utilise pas il utilise une méthode objet..
    La base de données est en fait prise pour un objet et on y accède exactement comme pour un objet.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim StrSQL As String
    StrSQL = "SELECT * FROM table "
    OBJETBDD.DataInit.RecordSource = StrSQL
    OBJETBDD.DataInit.Refresh

    La soulution c'est que je change toutes ces requetes en utilisant les ADO, mais c'est long et il y a peut etre une autre solution ?

  6. #6
    Membre confirmé Avatar de La Praline
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 568
    Points
    568
    Par défaut
    Bonjour,

    Si j'ai tout bien compris (risque de trompage ) avec une connexion ADBC tu n'utilises justement pas ADO...
    C'est dailleurs l'avantage que j'y avais trouvé...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Avec VB on n'est 'je suppose" pas obligé d'avoir de provider, donc mon logiciel se connect bien sur la BDD mais n'utilise pas les ADO.

  8. #8
    Membre confirmé Avatar de La Praline
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 568
    Points
    568
    Par défaut
    mon logiciel se connect bien sur la BDD mais n'utilise pas les ADO.
    Magnifique donc... faites péter le champagne et les danseuses !!!

    Non ??

    Reste-t-il un problème ??

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Désolé de ne pas avoir été assez précis.

    Mon logiciel en VB6 se connecte bien sur la BDD ACCESS mais sans utiliser les ADO.
    Si mon logiciel utiliserai les ADO le probleme serait réglé ^^


    D'ou le probleme de ne pas reussir a se connecter a une base de donnée SQLite avec VB6 sans modifier tout le code ...

  10. #10
    Membre confirmé Avatar de La Praline
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 568
    Points
    568
    Par défaut
    haaaaaaaaa...

    Et heu... je suppose que tu as essayé de regardé les références et composants nécessaires à l'utilisation d'un ADODC ?
    Et le cas échéant fais le tuto qui va avec ?

    Cordialement
    (le bout du tunnel est proche, courage )

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Je suis en train de regarder un peu plus le logiciel en VB6 et il utilise une feuille MDI qui repertorie les noms des databases.

    sinon, pour le moment j'ai pas touché aux ADO, j'attends de voir si j'arrive a trouver un solution sans les ADO.
    et si la seule solution c'est de tout faire avec les ADO, bah je m'y collerai

  12. #12
    Membre confirmé Avatar de La Praline
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 568
    Points
    568
    Par défaut
    Citation Envoyé par lathenor
    Si mon logiciel utiliserai les ADO le probleme serait réglé ^^
    ... un peu plus tard dans la journée...
    Citation Envoyé par lathenor
    j'attends de voir si j'arrive a trouver un solution sans les ADO.
    Luke SkyWaker, il va falloir choisir entre le bien ou le mal...

    Je sens le coté obscur t'envahir et mon neuronne surchauffer...

    En résumé:
    Tu ne veux pas utiliser les ADO => utilise ODBC
    Tu veux utiliser les ADO => Tu veux utiliser les ADO...

    ... finalement cela te va comme réponse ?

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    le truc c'est pas que je veux ou non utiliser les ADO.
    l'ideale, aurait été d'avoir un projet VB6 entierement en ADO, pour le transformer en Sqlite ODBC et une seule ligne aurait suffit.

    A long terme je transformeai surment le projet VB6 avec des connection ADO.

    Seulement la, je me laisser un peu de temps avant de me lancer dans cette utilisation massive des ADO, car j'ai "pour le moment" pas trop envie de toucher aux codes sources , ou alors le moins possible.

    Je ne sais même pas ce que c'est comme connexion ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim StrSQL As String
    StrSQL = "SELECT * FROM table "
    MDIOBJET.Database.RecordSource = StrSQL
    MDIOBJET.Database.Refresh
    ODBC, ADO ? je pense que c'est ni l'un ni l'autre ...

    en tout cas ca fonctionne très bien.

  14. #14
    Membre confirmé Avatar de La Praline
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 568
    Points
    568
    Par défaut
    Citation Envoyé par lathenor
    ODBC, ADO ? je pense que c'est ni l'un ni l'autre ...
    Je comprends mieux et pencherais aussi pour le "ni l'un ni l'autre" sans pouvoir t'en dire plus pour l'instant malheureusement...

    Je vais chercher aussi

  15. #15
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    A vue de nez c'est du DAO !
    Ton ancienne base serait pas une base ACCESS ?
    Si oui, je te propose une solution alternative
    Crée un lien ODBC (Panneau Controle/Source de données ODBC) vers ta base SQLLite
    Crée (avec access) une nouvelle base ACCESS (exemple MaBaseLiee.Mdb)
    Attache toutes les tables de la base SQLlite (table liées)
    Ton programme devrait quasiment tourner sans autres retouches autre que de changer le nom de la base

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par Delbeke
    A vue de nez c'est du DAO !
    Ton ancienne base serait pas une base ACCESS ?
    Oui c'est bien ACCESS.

    Citation Envoyé par Delbeke
    Si oui, je te propose une solution alternative
    Merci de proposer ^^

    Citation Envoyé par Delbeke
    1) Crée un lien ODBC (Panneau Controle/Source de données ODBC) vers ta base SQLLite
    2) Crée (avec access) une nouvelle base ACCESS (exemple MaBaseLiee.Mdb)
    3) Attache toutes les tables de la base SQLlite (table liées)
    1 et 2 fait.
    Comme tu me l'as conseillé j'ai fait un petit programme qui tourne qui se connect aux BDD ACCESS ET aux BDD SQLITE3
    (Par contre c'est en ODBC)

    Peut tu être un peu plus précis sur le Numéro 3 s'il te plait ?
    (Je les attache a quoi? comment?)

    en gros ce que tu veux me dire, c'est :

    1) j'ai d'un coté mon code VB avec la base Access existante avec une connection DAO.
    2) crée une connection ODBC avec une base sqlite (c'est fait)
    3) crée une nouvelle table Acces et la lié a celle de sqlite ... je vois pas troop comment et pourquoi ?

  17. #17
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Dans access ouvert su ta nouvelle table tout belle et vide , tu fais un click droit sur la fenetre qui affiche les tables, tu choisis 'lier les tables'. Dans la fenetre de dialogue qui s'affiche, en bas, tu choisis ODBCDatabases() comme 'type de fichier'. La une autre fenetre de dialogue s'affiche te permetant de selection le lien ODBC vers ta base SQLLite. Ceci fait une troisieme boirte de dialogue t'affiche les tables de ta base SQLLite. Tu choisis la premiere de la liste et tu valides.
    Recommence l'operation pour chaque table.

    Ensuite fait un double_click sur une de ces tables et vois!...

    Le but est d'utiliser le moteur d'access sur des tables qui ne sont pas dans access, mais ailleurs ! c'est ce qu'on apelle une table liée.

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Très interressant !!!
    Merci.

    je pense voir l'idée, et si c'est ca, bah c'est vraiment pas mal du tout.

    En gros, voila ce que j'ai compris :

    1) j'ai une base SQLite qui fonctionne bien, avec n'importe quoi ...

    2) je la lie a une BDD access qui est en faite une réplique de la sqlite ...

    3) Je peux donc utiliser mes nouveau programme avec sqlite et mes ancien programme sur Access, les changement sur l'un vont changé l'autre car elles sont lié ...

    La question est de savoi si cette liaison entre les deux base sont a double sens ou a un seul sens ?
    Et que faudrait-il faire pour "metre a jour" ou rafraichir l'un des deux base si l'autre a été modifié ?

  19. #19
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Du coté programmation vb, il n'y a pas de diférence entre ouvrir une table d'access ou une table liée.

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Ayant bien réfléchi, c'est une bonne solution que tu me propose, et je t'en remerci, mais y'a un defaut c'est qu'il y a qaund même "physiquement" deux BDD et le mieux pour mon projet c'est d'en faire qu'une seule ca eviterai pas mal de probleme a la longue je pense surtout au niveau compatibilité.

Discussions similaires

  1. A ceux qui ont migré de VB6 vers VB.Net
    Par Fox dans le forum VB 6 et antérieur
    Réponses: 81
    Dernier message: 21/05/2008, 14h56
  2. VB6 vers SQLite création de SQLiteVB.dll sous visual 2005
    Par lathenor dans le forum Visual C++
    Réponses: 3
    Dernier message: 21/05/2007, 11h39
  3. Réponses: 1
    Dernier message: 30/05/2006, 22h54
  4. Code VB6 vers Delphi ?
    Par isachat666 dans le forum Langage
    Réponses: 4
    Dernier message: 11/01/2006, 15h07
  5. Réponses: 3
    Dernier message: 05/03/2003, 11h08

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