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
Utilisateur anonyme - 27 févr. 2012 à 10:13
A voir également:
- Programmation VB sur BDD
- Vb - Télécharger - Langages
- Vb cable - Télécharger - Audio & Musique
- Application de programmation - Guide
- Comment programmer un mail sur gmail - Guide
- Programmation logo tortue télécharger - Télécharger - Études & Formations
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
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
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
Utilisateur anonyme
Modifié par Lupin.PC4 le 14/02/2012 à 00:23
Modifié par Lupin.PC4 le 14/02/2012 à 00:23
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
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
Utilisateur anonyme
13 févr. 2012 à 23:04
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...
Merci de vos conseil...
Utilisateur anonyme
14 févr. 2012 à 09:35
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 ...
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 ...
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
14 févr. 2012 à 09:51
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
Et Voila La BDD : http://dl.free.fr/getfile.pl?file=/P6rRNGu0
Les deux peuvent comporter des faute d'orthographe ...... dsl
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
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
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
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
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 :
il faut récupérer le DataRowLocal et alimenter l'objet :
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
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
Utilisateur anonyme
16 févr. 2012 à 22:35
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
tt est bon a prendre
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
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