Programmation VB sur BDD

Fermé
Utilisateur anonyme - Modifié par guillaume.robier le 12/02/2012 à 18:31
 Utilisateur anonyme - 27 févr. 2012 à 10:13
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 ...
A voir également:

6 réponses

Phoenellion Messages postés 116 Date d'inscription dimanche 14 septembre 2008 Statut Membre Dernière intervention 30 août 2012 33
Modifié par Phoenellion le 13/02/2012 à 21:52
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
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
Utilisateur anonyme
13 févr. 2012 à 23:04
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
Utilisateur anonyme
14 févr. 2012 à 09:43
PS j'ecris un peux trop vite ^^
0
Utilisateur anonyme
14 févr. 2012 à 09:35
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
Phoenellion Messages postés 116 Date d'inscription dimanche 14 septembre 2008 Statut Membre Dernière intervention 30 août 2012 33
14 févr. 2012 à 23:15
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
Utilisateur anonyme
15 févr. 2012 à 12:54
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
Utilisateur anonyme
15 févr. 2012 à 12:55
a oui votre site est très bien merci .
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
14 févr. 2012 à 09:51
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
Utilisateur anonyme
16 févr. 2012 à 01:29
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
Utilisateur anonyme
16 févr. 2012 à 22:17
re:

quelques changements et évolution :

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

Lupin
0
Utilisateur anonyme
16 févr. 2012 à 22:34
simplement super ! reste plus qu'a faire quelques modifs .... Merci ! je vais admirer ces lignes de code ^^
0
Utilisateur anonyme
17 févr. 2012 à 09:54
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
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
Utilisateur anonyme
16 févr. 2012 à 22:35
Je vais regarder le programme de Lupin Sinon que me conseillerez vous en programmation php ...


tt est bon a prendre
0
Utilisateur anonyme
19 févr. 2012 à 16:00
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
Utilisateur anonyme
24 févr. 2012 à 19:22
re:

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

Sous MySQL

Cdt

Lupin
0
Utilisateur anonyme
24 févr. 2012 à 20:22
Merci Lupin Gt au ski dsl pour mon absence. pourizez vous m'envoyez votre BDD et utiliser vous appache ? wamp server ?
0
Utilisateur anonyme
24 févr. 2012 à 20:23
par ailleurs pourriez vous Uploader votre BDD en SQL
0
Utilisateur anonyme
24 févr. 2012 à 22:06
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