Probleme de realisation en vb.net et BDD mysql

alex13380 Messages postés 4 Date d'inscription mardi 18 octobre 2005 Statut Membre Dernière intervention 27 décembre 2006 - 22 déc. 2006 à 11:16
cs_Berurier Messages postés 31 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 28 juin 2013 - 31 janv. 2007 à 20:59
J'ai un développement a faire en vb.net et derriere une BDD Mysql.
Au depart on me donne un fichier avec un  script SQL contenant les données de la base, un script en VB.net contenant la connexion a la base dont le nom est 'Classe VB.net BDD'. Je ne sais pas trop comment me servir de ces 2 fichiers et enfin on me demande de créer des classes sous VB.net, dont je ne sais pas trop comment ca marche.
Je suis debutant et je galere vraiment.
Merci par avance pour votre aide.

4 réponses

crocejf2000 Messages postés 260 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 27 août 2008 1
22 déc. 2006 à 22:53
Salut,

Il faudrai plus de détail si tu veut qu'on t'aide, donne directement l'énnoncé ...

Plus serieusement, je ne comprend pas vraiment ce qu'est un script SQL, peut être est-ce des commande SQL ou des procédures stocké.
Sinon pour ta classe 'Classe VB.net BDD', je pense qu'on t'a refiler ce fichier pour t'éviter de redévelloper les fonctions d'accès à la base de donnée (connexions, requetes, commandes) -> aux quel cas c'est une connection ODBC.

Pour la suite c'est simple, tu n'a plus qu'a faire les interfaces utilisateur si je comprend bien.

Bonne continuation.

A+,Jeff
0
alex13380 Messages postés 4 Date d'inscription mardi 18 octobre 2005 Statut Membre Dernière intervention 27 décembre 2006
27 déc. 2006 à 09:17
je vous fait parvenir directement l'enoncé parce que je n'arrive pas a me connecter a la base de donnée via le code en VB.net.
Merci a+.
0
alex13380 Messages postés 4 Date d'inscription mardi 18 octobre 2005 Statut Membre Dernière intervention 27 décembre 2006
27 déc. 2006 à 09:24
je vous fait parvenir directement l'enoncé parce que je n'arrive pas a me connecter a la base de donnée via le code en VB.net.
Merci a+.
             <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

ps: je n'arrive pas a ajouter un fichier *.rar
1) Objectif

 

Le but de ce test est de créer une petite application en Visual Basic .Net 2005 permettant de gérer des thésaurus d’examens biologiques.

Un examen biologique (bilan sanguin, test HIV …) est souvent prescrit à un patient lors d’une consultation d’anesthésie par un médecin anesthésiste en vue de l’opération. Un thésaurus d’examens est un regroupement d’examens biologiques. L’intérêt des thésaurus est de prescrire en une fois plusieurs examens dont la prescription revient souvent pour des opérations types.

 

Un thésaurus possède un libellé unique obligatoire, et il possède un ou plusieurs examens.

Un examen possède un libellé unique obligatoire.

 

L’interface homme machine (IHM) à réaliser se présente de la manière suivante (copie d’écran d’un logiciel en VB6) :

 
<?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" /??><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype>

 

La liste de gauche affiche tous les noms de thésaurus. En sélectionnant un item dans la liste, le libellé du thésaurus s’affiche, ainsi qu’une double liste.

Double liste : la liste de gauche contient tous les examens qui n’appartiennent pas au thésaurus sélectionné. La liste de droite contient tous les examens du thésaurus. Dans cet exemple, le thésaurus Groupe II possède les examens Numération Formule (NFS), Plaquettes, TQ TCA INR, Ionogramme Sanguin, Urée Créatine et Glycémie.

Le bouton >> permet d’ajouter à la liste de droite l’examen sélectionné dans la liste de gauche, inversement pour le bouton <<.

Le bouton Nouveau permet d’initialiser l’interface afin de créer un nouveau thésaurus (passage en mode création).

Le bouton Sauvegarder permet soit :

-          De créer dans la base de données le thésaurus si on est en mode création.

-          De modifier dans la base de données le thésaurus sélectionné dans la liste si on n’est pas en mode création.

Le bouton Effacer permet d’effacer dans la base de données le thésaurus sélectionné dans la liste.

 

 

 

 

2) Base de données

 

Les 3 tables utiles pour ce test sont définies par le modèle logique des données suivant :

 

 

Description :

 

-          Table examen : contient les examens biologiques (clé primaire auto incrémentée).

-          Table examen_thesaurus : contient les thésaurus d’examens (clé primaire auto incrémentée).

-          Table examen_thesaurus_contenu : contient les liens entre thésaurus et examens.

 

 

 

 

3) Conception objet

 

L’application à développer devra contenir au moins les 2 classes VB.Net suivantes :

 

Classe Examen

, ----
- m_iClef As Integer

- m_sNom As String

, ----
 

 

Correspond à la clé primaire

Correspond au libellé de l’examen
                       

Classe ExamenThesaurus

, ----
- m_iClef As Integer

- m_sNom As String

- m_cExamen as Collection

, ----
+ Charger() as Collection

+ Creer()

+ Modifier()

+ Supprimer()

 

Correspond à la clé primaire

Correspond au libellé du thésaurus

Collection d’objets de type Examen
Méthode Shared renvoyant une collection de tous les thésaurus de <?xml:namespace prefix st1 ns "urn:schemas-microsoft-com:office:smarttags" /??><st1:personname productid="la BDD">la BDD</st1:personname>

Méthode permettant d’insérer un thésaurus dans <st1:personname productid="la BDD">la BDD</st1:personname>

Méthode permettant de modifier un thésaurus dans <st1:personname productid="la BDD">la BDD</st1:personname>

Méthode permettant de supprimer un thésaurus de la BDD
           

Afin d’utiliser MySQL avec Visual Basic .Net, une classe BDD est fournie.

 

Exemple d’utilisation de la classe :

 

Dim sql AsString

Dim dtTable As DataTable

Dim oBDD As BDD

Dim sServeur AsString = "localhost"

Dim sBase AsString = "base_test"

Dim sUser AsString = "root"

Dim sPwd AsString = "mot de passe"

Dim sPort AsString = "3306"

'connexion

oBDD = New BDD(sServeur, sBase, sUser, sPwd, sport)

oBDD.Connecter()

'requête de sélection

sql = "SELECT CHAMP1,CHAMP2 FROM TABLE_TEST"

Try

     'exécution requête

     dtTable = oBdd.ExecuteSelect(sql)

     ForEach dtRow As DataRow In dtTable.Rows

          Console.WriteLine("Champ 1 : " & dtRow.Item("CHAMP1"))

          Console.WriteLine("Champ 2 : " & dtRow.Item("CHAMP2"))

      Next

      'requête d’insertion

      sql = "INSERT INTO TABLE_TEST(CHAMP1,CHAMP2) VALUES (3,4)"

      oBDD.ExecuteAction(sql)

Catch ex As Exception

EndTry

 

4) Fichiers fournis pour le test

 

-          test.sql : script SQL avec les tables nécessaires au test (structure + données)

-          BDD.vb : classe VB.Net BDD

-          MySql.Data.msi : extension MySQL pour le Framework 2.0, à installer pour utiliser la classe BDD.

test.sql:

SET NAMES utf8;

SET SQL_MODE='';

SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;

SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO';

/*Table structure for table `examen` */

DROP TABLE IF EXISTS `examen`;

CREATE TABLE `examen` (

`CLEF` smallint(6) unsigned NOT NULL auto_increment,

`NOM` varchar(50) NOT NULL,

PRIMARY KEY (`CLEF`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

/*Data for the table `examen` */

insert into `examen` (`CLEF`,`NOM`) values (1,'Numération Formule (NFS)'),(2,'Plaquettes'),(3,'Groupe Sanguin'),(4,'Recherche Agglutinines Irrégulières (RAI)'),(5,'TQ TCA INR'),(6,'Crase complète'),(7,'Ionogramme Sanguin'),(8,'Urée Créatine'),(9,'Glycémie'),(10,'Bilan hépatique'),(11,'Amylasémie Amylasurie'),(12,'CPK LDH'),(13,'Bilan Pré-transfusionnel'),(14,'HIV'),(15,'HBs'),(16,'Diagnostic Biologique de grossesse'),(17,'ECBU'),(18,'Activité anti Xa'),(19,'Sérologie hépatite C');

/*Table structure for table `examen_thesaurus` */

DROP TABLE IF EXISTS `examen_thesaurus`;

CREATE TABLE `examen_thesaurus` (

`CLEF` smallint(6) unsigned NOT NULL auto_increment,

`NOM` varchar(50) NOT NULL,

PRIMARY KEY (`CLEF`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

/*Data for the table `examen_thesaurus` */

insert into `examen_thesaurus` (`CLEF`,`NOM`) values (1,'Groupe I'),(2,'Groupe II'),(3,'Groupe III');

/*Table structure for table `examen_thesaurus_contenu` */

DROP TABLE IF EXISTS `examen_thesaurus_contenu`;

CREATE TABLE `examen_thesaurus_contenu` (

`CLEF_EXAMEN` smallint(6) unsigned NOT NULL,

`CLEF_THESAURUS` smallint(6) unsigned NOT NULL,

PRIMARY KEY (`CLEF_EXAMEN`,`CLEF_THESAURUS`),

KEY `CLEF_EXAMEN` (`CLEF_EXAMEN`),

KEY `CLEF_THESAURUS` (`CLEF_THESAURUS`),

CONSTRAINT `examen_thesaurus_contenu_ibfk_1` FOREIGN KEY (`CLEF_EXAMEN`) REFERENCES `examen` (`CLEF`) ON DELETE CASCADE ON UPDATE CASCADE,

CONSTRAINT `examen_thesaurus_contenu_ibfk_2` FOREIGN KEY (`CLEF_THESAURUS`) REFERENCES `examen_thesaurus` (`CLEF`) ON DELETE CASCADE ON UPDATE CASCADE

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

/*Data for the table `examen_thesaurus_contenu` */

insert into `examen_thesaurus_contenu` (`CLEF_EXAMEN`,`CLEF_THESAURUS`) values (1,1),(1,2),(1,3),(2,1),(2,2),(2,3),(3,3),(4,3),(5,1),(5,2),(5,3),(7,2),(7,3),(8,2),(8,3),(9,2),(9,3);

SET SQL_MODE=@OLD_SQL_MODE;

SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;

BDD.vb

Imports MySql.Data.MySqlClient

Public Class BDD

#Region "PRIVATE"

Private m_sServeur As String

Private m_sBase As String

Private m_sUser As String

Private m_sPwd As String

Private m_sPort As String

Private m_myConnexion As MySqlConnection

#End Region

#Region "CONSTRUCTEUR"

'+ Constructeur par défaut

Public Sub New()

End Sub

'+ Constructeur avec valeurs propriétés

Public Sub New(ByVal sServeur As String, ByVal sBase As String, ByVal sUser As String, ByVal sPwd As String, ByVal sPort As String)

m_sServeur = sServeur

m_sBase = sBase

m_sUser = sUser

m_sPwd = sPwd

m_sPort = sPort

End Sub

#End Region

#Region "PROPERTY"

Public Property Serveur() As String

Get

Return m_sServeur

End Get

Set(ByVal Value As String)

m_sServeur = Value

End Set

End Property

Public Property Base() As String

Get

Return m_sBase

End Get

Set(ByVal Value As String)

m_sBase = Value

End Set

End Property

Public Property User() As String

Get

Return m_sUser

End Get

Set(ByVal Value As String)

m_sUser = Value

End Set

End Property

Public Property Pwd() As String

Get

Return m_sPwd

End Get

Set(ByVal Value As String)

m_sPwd = Value

End Set
0
cs_Berurier Messages postés 31 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 28 juin 2013
31 janv. 2007 à 20:59
Le fichier test.sql te permet de charger la base mysql . Cependant  il y a un problème à aucun moment la base à utiliser est nommée. Normalement on devrait avoir :

USE Base_test;

Pour charger la base , il faut utiliser la ligne de commande

mysql -uroot -p"mot de passe administrateur" < test.sql

Ensuite il y les problèmes de droits à règler ...

donc il manque des éléments....

Ou est ton serveur Mysql ?

On s'en fout que les poulets soient élévés en plein air , de toutes facons , on ne mange pas les poumons....
0
Rejoignez-nous