Programmation VB sur BDD

Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,

J'ai 15 ans, passionner d'informatique apres avoir créer un serveur de BDD je cherche a créer un programme en VB qui pourais interagir sur la BDD a savoir créer des ligne, les modifier la base de donner est composer de 3 table une table appeler login qui rassemble les utilisateur du programme, une appeler contact qui elle est composer de nom prénom adresse ... des personnes et une autre appeler computer celle si rassemble les ordinateur des contact donc avec marque reference OS procc HDD1 HDD 2 ...

6 réponses

  1. Phoenellion Messages postés 131 Statut Membre 33
     
    Bonjour Guillaume,

    Tout d'abord je peux te proposer de télécharger Vusial Basic Express qui en licence gratuite. (et si Microsoft sais faire dans le grtatuit).

    Excellente plateforme de développement VB. Si tu ne connais pas ce langage, tu vas déjà pouvoir passer un peu de temps à t'amuser pour découvrir.

    Ensuite, si tu as besoin de manipuler une BDD, je pense que tu seras intéressé par les bibliothèques de fonctions d'Access et Excel.

    Je ne suis pas un as de la programmation VB mais je commence à me défendre un peu et je bosse essentiellement avec ça.

    Après, le tout est de savoir ce que tu veux faire exactement. Comment est alimentée ta BDD actuellement ?

    @+
    Phoe
    1
  2. Utilisateur anonyme
     
    Bonjour,

    Si tu connais, le type de BDD que tu utilises, la proposition de
    Visual Basic Express est excellente.

    ensuite il te suffit de créer tes objets et tes collections.

    Ta BDD

    Table -> Colonne

    Ta structure en VB

    Classe -> Attributs (i.e. propriété ou membre)

    Ex.:

    Public Class Table1
    ..Private m_Nom As String = String.Empty
    ..Private m_Prenom As String = ...
    End Class

    Public Class ListeTable1
    ...Inherits System.Collection.Generique.List(Of Table1)
    End Class

    Pour trouver la chaine de connexion à MySql, recherche
    sur googles ( string connexion ), il existe un site qui
    te fournira toute la syntaxe pour créer la connection.

    Donc, à ce point, tu es connecté sur ta BD avec
    la chaine de connexion et tu peux y exécuter des
    requêtes SQLs sur les objets que tu as créé.

    4 Méthodes SQLs

    LireDonnees donc Select ...

    EcrireDonnees donc UpDate ... Insert ... Delete

    la lecture comme l'écriture doivent être gérer par un seul

    contrôle (genre celui qui et exécute l'Instruction SQL), il te
    retourne toujours un objet,

    le contrôleur normalement reçoit une commande et retourne
    un objet et cet objet peut contenir n'importe quoi, tu créé une
    fonction de conversion de (dr.read) à (lists of Table1)

    ici un DataRow accrocher sur une instruction variable ( dr.Read ).

    function ConvertirDrListe(byval dr as DataReader) as Liste (Of Table1)

    dim Liste as ListeTable1
    dim Entite as Table1

    for each dr.read
    ..Entite = New Table1
    ..Entite.Nom = dr.(0)
    ..Entite.Prenom = dr.(1)
    ..Liste.Add(Entite)
    next

    return Liste

    end function

    Pour terminer, la collection d'objets que tu reçoit du contrôleur
    tu peux en alimenter un objet ( BindingSource ) et à l'affichage
    sur un DGV (DataGridView) c'est bien. :-)

    Si tu veux pousser sur le SQLs, regarde du côté d'Oracle si l'anglais
    ne t'effraie points, et trouve aussi de la doc sur les méthodes LinQ.

    C'est un peu la base des classes d'affaires spécialisées ...

    Cdt

    Lupin
    1
  3. Utilisateur anonyme
     
    Oui j'ai deja visual basic de microsoft. je sais que access est super mais pas adequate avec mon type de bdd qui est My SQL donc voila j'aimerais un programme en VB qui ajits sur la BDD.

    Merci de vos conseil...
    0
    1. Utilisateur anonyme
       
      PS j'ecris un peux trop vite ^^
      0
  4. Utilisateur anonyme
     
    Merci Beaucoup je vais éplucher toute ses information.

    Et je vais me mettre au boulo ...

    Le but de mon programme est de n'importe ou dans le monde pouvoir avoir accès a mes contact et la configuration qu'ils ont pour leur réparer leur ordi donc ma BDD est constituer de 3 Table une nommer membre ou les nom d'utilisateur et pass de ceux qui veulent accéder au programme et se "loguer" après une autre table contient les contact donc un numéro un nom un prénom une adresse une Ville un CP et Indication et dans une autre table se trouve les configuration des pc avec le numéro du contact auquel il appartient de se fait un contact peut avoir plusieurs pc.

    mais je ne comprend pas ce qu'il faut utiliser dans la boite a outils ..... je vais uploader mon projets et la BDD sur free pour que vous puissiez voir ...
    0
    1. Phoenellion Messages postés 131 Statut Membre 33
       
      Salut Guillaume,

      D'après ce que tu dis, il te faudra une interface utilisateur pour toi comme pour tes contacts.
      L'idée de faire une appli VB n'est pas mauvaise mais le fait de vouloir y accéder de n'importe où soulève la question de la mise en ligne. Et une appli VB n'est pas l'interface la plus adaptée à mon humble avis.

      Tu ne voudrais pas plutôt créer une interface web (même légère) ? D'autant que ta BDD est déjà adapté à cette utilisation d'après ce que j'ai compris.

      Passer par une appli VB t'obligerai à toujours garder ton programme sur toi, et héberger quand même ta bdd donc quitte à te connecter à internet, sans compter toute la partie "connection à la bdd et interaction via internet" à développer, encore qu'il est possible d'instancier Internet Explorer dans une appli VB.... à moins que tu ne préfères faire compliqué même si tu peux faire simple :)

      Si l'idée te tante, sur la page de démarrage de Visual Basic Express, clique sur "Espace formation pour les développeurs débutants" (si tu ne l'as pas déjà fait)
      ou alors ouvre ce lien :)
      https://visualstudio.microsoft.com/vs/express/
      La rubrique concernant la WebMatrix devrait t'apporter tout ce dont tu auras besoin pour créer ton site Web, ça fonctionne sur le même principe (de facilité d'approche) que Visual Basic Express.

      J'espère que t'avoir apporté quelque chose.

      @+
      Phoe
      0
    2. Utilisateur anonyme
       
      Oui j'ai essayer de l'installer mais sa a complètement foutu en l'aire mes BDD que g été obliger de toute refaire et une interface web serait super bien mais la est la question comment agencer la page car le langage devra être du php je suppose ....

      sinon j'utilise wamp server....
      0
    3. Utilisateur anonyme
       
      a oui votre site est très bien merci .
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    Voici le programme : http://dl.free.fr/getfile.pl?file=/J4U6oJ0n
    Et Voila La BDD : http://dl.free.fr/getfile.pl?file=/P6rRNGu0

    Les deux peuvent comporter des faute d'orthographe ...... dsl
    0
    1. Utilisateur anonyme
       
      re:

      Voici, je te suggère ce modèle, il y en a d'autres ...

      La logique est ainsi découpé :

      Le Commun
      ----Constantes
      ----Messages (non créé dans ce modèle)
      L' Entité
      ----L'entité elle-même
      ----Les collections
      ----Les critères
      Le Contrôleur
      ----Le contrôle
      ----L'exécuteur de requêtes SQL
      ----Les requêtes SQL
      Le Formulaire
      ----Page dialogue de modification (non créé dans ce modèle),
      .... quand le code devient trop dense dans le "form"

      La structure est en place, pour la lecture et l'insertion,
      reste à faire Modifier et Supprimer

      Dans la classe PC_config_ExeSQL tu trouveras dans le constructeur
      de la classe, la réalisation de la connexion à la BD, c'est cette partie
      que tu dois modifier pour te connecter à MySQL.

      Le reste dépend de toi, de tes choix :-)

      http://membre.oricom.ca/lupin/xfr/Modele_105.zip

      l'hyperlien ne sera valide que quelque jours,
      car je change de FAI dans une semaine.

      toutefois, il y a un bout que je voulais faire ce modèle

      Cdt

      Lupin
      0
    2. Utilisateur anonyme
       
      re:

      quelques changements et évolution :

      http://membre.oricom.ca/lupin/xfr/Modele_107.zip

      Lupin
      0
    3. Utilisateur anonyme
       
      simplement super ! reste plus qu'a faire quelques modifs .... Merci ! je vais admirer ces lignes de code ^^
      0
    4. Utilisateur anonyme
       
      le modele_107 est super bien.


      a quoi correspond ceci :

      Public Const iCol_id_Ind1 As Int32 = 0
      Public Const iCol_pseudo_Ind2 As Int32 = 1
      Public Const iCol_pass_Ind3 As Int32 = 2
      Public Const iCol_email_Ind4 As Int32 = 3
      Public Const iCol_date_inscr_Ind5 As Int32 = 4

      Public Const BDNomTable As String = "membres"

      Public Const BD100Id As String = "id" ' Type String
      Public Const BD110Pseudo As String = "pseudo" ' Type String
      Public Const BD120Pass As String = "pass" ' Type String
      Public Const BD130Email As String = "email" ' Type String
      Public Const BD140DtInscr As String = "date_inscription" ' Type Date

      BDD la modification de la BDD ne se fais que quand on ajoute la valeur par Default donc je pense que si on prend les variable inscrit dans la textbox Donc :

      RecupereEntite()

      on récupère les donnée dans le tableau mais qu'elle est la commande pour les envoyer vers le contrôleur SQL
      0
    5. Utilisateur anonyme
       
      re:

      Ce sont des constantes qui définissent l'ordre de lecture :

      dr.Read() lit un datarow

      datatable.row(0) colonne 0 -> datarow(iCol_id_Ind1)
      datatable.row(0) colonne 1 -> datarow(iCol_pseudo_ind2)
      etc...

      le nom des champs est aussi défini par des constantes :

      BD100Id = id
      BD110Pseudo = pseudo
      etc ...

      et le nom de la table.

      Ceux-ci seront utilise dans la classe PC_config_ReqSQL pour
      construire les requêtes à partir de constantes. Quoi de plus
      désagréable qu'une erreur de syntaxe dans une requête SQL.

      donc le programme, n'a plus a se poser la question pour alimenter
      les objets, voir CreerInstance

      au moment de la lecture :

      For Each DataRowLocal In MonDataTable.Rows   
       MonEntite = CreerInstance(DataRowLocal, pCritere.CheminBD)   
       MaCollection.Add(MonEntite)   
      Next   
      


      il faut récupérer le DataRowLocal et alimenter l'objet :

      Private Function CreerInstance(ByVal objet As DataRow, ByVal pChemin As String) As TYP_ENT   
      
          Dim clientEntite As TYP_ENT = New TYP_ENT   
      
          Try   
      
              With clientEntite   
      
       If (objet.Item(TYP_COM.iCol_id_Ind1) IsNot Nothing) Then   
        .id = Convert.ToString(objet.Item(TYP_COM.iCol_id_Ind1))   
       End If   
      
       If (objet.Item(TYP_COM.iCol_pseudo_Ind2) IsNot Nothing) Then   
        .pseudo = Convert.ToString(objet.Item(TYP_COM.iCol_pseudo_Ind2))   
       End If   
      
      ' attention, je remarque ici que j'ai inversé l'ordre de [ pseudo et pass ] 
      ' ici je l'ai corrigé mais regarde dans la fonction CreerInstance de la classe 
      ' PC_config_ExeSQL 
      
      'etc ...   
      


      ici la variable objet passer en peramètre est un DataRow

      objet.Item(TYP_COM.iCol_Ind1)

      objet.item( index )

      objet.item ( classe Constantes représenté par TYP_COM et iCol_id_Ind1 représente l'indice)

      c'est l'équivalent de dire clientite.id = ConverTo.String(dararow(0))

      ainsi l'objet est alimenté selon les bonnes colonnes !

      et la ligne : MaCollection.Add(MonEntite)

      ajoute l'objet à une collection qui est retourné.

      n.b. j'ai assumé que le champs [ id ] était un identificateur unique

      vour méthode ObtenirNumeroSuivant pour l'insertion de nouvelles entrées

      et étant donné que l'insertion dans la BD ne se fait qu'au moment
      d'appuyer sur [ Sauvegarder ], s'il y a plusieurs insertions, la fonction
      retourne toujours la même valeur MAX de [ id ], il faut donc jouer
      avec une variable locale OffsetNewMembre que l'on va incrémenter
      de 1 à chaque insertion jusqu'a la sauvegarde, à ce moment la
      variable OffsetNewMembre est remise à 0.

      sous peu, je vais tenter de modifier la BD Access de ce modele pour
      une BD MySql, je pourrai savoir comment modifier la connexion.

      C'est un peu la force de cette implémentation, tu peux changer la
      BD avec des impacts très mineurs.

      Autre point, la variable CheminBD est construite à l'ouverture et
      est passé en paramètre jusqu'au contrôleur, de façon à toujours
      connaître le chemin de la BD lors de la création de la connexion.

      L'instruction [ Application.ExecutablePath ], n'est possible que dans
      une classe de type [ Form ] et nom dans une classe de type DLL.

      Cdt

      Lupin
      0
  7. Utilisateur anonyme
     
    Je vais regarder le programme de Lupin Sinon que me conseillerez vous en programmation php ...

    tt est bon a prendre
    0
    1. Utilisateur anonyme
       
      Bonjour Guillaume,

      Voici la dernière version avant que je tourne vers un modèle générale.

      http://membre.oricom.ca/lupin/xfr/modele_108.zip

      le virage au modèle plus générale :

      http://membre.oricom.ca/lupin/xfr/modele_109.zip

      je débranche le 24, dans quelques jours ...


      Cdt

      Lupin
      0
    2. Utilisateur anonyme
       
      re:

      http://membre.oricom.ca/lupin/xfr/Modele_110.zip

      Sous MySQL

      Cdt

      Lupin
      0
    3. Utilisateur anonyme
       
      Merci Lupin Gt au ski dsl pour mon absence. pourizez vous m'envoyez votre BDD et utiliser vous appache ? wamp server ?
      0
    4. Utilisateur anonyme
       
      par ailleurs pourriez vous Uploader votre BDD en SQL
      0
    5. Utilisateur anonyme
       
      re:

      malheureusement, j'ai installer MySQL hier

      mysql-installer-5.5.21.0.msi

      et je ne connais que très peu ...

      ma connaissance sous oracle m'a permis de me débrouiller avec le WorkBench,
      mais mes connaissances sont encore très limités pour MySQL !!!

      je ne saurais comment uploader ma BDD en SQL, désolé.

      Cdt

      Lupin
      0