bonjour,
j'ai un probléme dans mon application
au départ c'était une application centralisé ( BD+ serveur + client sur le même poste)
voila un bout de code de l'application
puis c'est devenu une application 3tiers
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 Public Class Gestion_comptes Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try 'Chaîne de connexion Dim connectString As String = "Data Source=****;Initial Catalog=GMAO;User ID=*****; password = ******* " 'Objet connection Dim connection As SqlClient.SqlConnection = New SqlClient.SqlConnection(connectString) '-------------------------------------------------------------------------------------- 'Ouverture connection.Open() '-------------------------------------------------------------------------------------- Dim command As SqlClient.SqlCommand = New SqlClient.SqlCommand("SELECT nom,service,login,mdp,tel,fax,email FROM administrateur where id_admin ='" & TextBox1.Text & "'", connection) Dim reader As SqlClient.SqlDataReader = command.ExecuteReader While reader.Read TextBox2.Text = reader.GetString(0) TextBox3.Text = reader.GetString(1) TextBox4.Text = reader.GetString(2) TextBox5.Text = reader.GetString(3) TextBox6.Text = reader.GetInt32(4) TextBox7.Text = reader.GetInt32(5) TextBox8.Text = reader.GetString(6) End While MsgBox("id_administrateur introuvable", MsgBoxStyle.Exclamation) reader.Close() '------------------------------------------------------------------------------------- ' Fermeture() connection.Close() Catch ex As Exception System.Diagnostics.Debug.WriteLine("erreur") End Try End Sub
- client,
- base de données(connection) + interface BD
- serveur(métier) + interfece métier
l'interface DB et accées métiers sont fait pour sécuriser le serveur et la BD
voila le code de l'interface connection
voila le code de la classe connection
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Public Interface interface_connection '********************************************************************* 'procedure de connection à la base de données Sub connect() '********************************************************************* ' procedure de deconnection de la base de données Sub disconnect() '********************************************************************* ' procedure qui permet soit la consultation, modification ou la suppression des attributs d'une table de la BD Sub modification(ByVal requete As String) '********************************************************************* 'procedure qui permet l'insertion d'une line dans une table de la BD Sub inserer(ByVal requete As String) End Interface
voila le code de l'interface serveur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 Imports System.Data.SqlClient Imports System.Net Public Class connection Implements acces_connection.interface_connection 'Chaîne de connexion Private connectString As String = "Data Source=****;Initial Catalog=GMAO;User ID=*****; password = *****" 'Objet connection Private connection As SqlClient.SqlConnection = New SqlClient.SqlConnection(connectString) Private requete As String '******************************************************************************************************* 'procédure de connection Private Sub connect()Implements acces_connection.interface_connection.connect Try 'ouverture connection.Open() Catch ex As Exception MsgBox("tentative de connection échouée", MsgBoxStyle.Exclamation) End Try End Sub '******************************************************************************************************* 'procédure de déconnection Private Sub disconnect() Implements acces_connection.interface_connection.disconnect Try 'fermeture connection.Close() Catch ex As Exception MsgBox("connection encore ouverte", MsgBoxStyle.Exclamation) End Try End Sub '******************************************************************************************************* 'procédure de consultation Private Sub modification(ByVal requete As String) Implements acces_connection.interface_connection.modification Try ' creer un objet sql command pour communiquer avec la base de données Dim command As SqlClient.SqlCommand = New SqlClient.SqlCommand(requete, connection) 'creer un objet sql data reader pour exécuter puis afficher le resultat Dim reader As SqlClient.SqlDataReader = command.ExecuteReader Catch ex As Exception MsgBox("demande non traité", MsgBoxStyle.Exclamation) End Try End Sub '******************************************************************************************************* Private Sub inserer(ByVal requete As String) Implements acces_connection.interface_connection.inserer Try ' creer un objet de type string pour déclarer la requéte à faire Dim strRequete As String = requete ' creer un objet sql command pour communiquer avec la base de données et exécuter la commande Dim Command As New SqlClient.SqlCommand(strRequete, connection) Command.ExecuteNonQuery() Catch ex As Exception MsgBox("insertion non effectuée", MsgBoxStyle.Exclamation) End Try End Sub '******************************************************************************************************* End Class
et finalement la classe serveur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Public Interface admin 'procedure de consultation d'un admin Sub consulter_admin(ByVal requete As String) End Interface
moi j'ai voulu faire cela
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 imports acces_connection Imports Connection Public Class administrateur Implements accées_métier.admin Dim b As interface_connection Public Sub consulter_admin(ByVal requete As String) Implements accées_métier.admin.consulter_admin b.connect() b.modification(requete) b.disconnect() End Sub End Class
je sais que mon dernier code est faux et jve savoir comment exécuter mon reader et en méme temps j'ai mes textbox à remplir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 imports accées_métier Dim a As accées_métier.admin Public Class Gestion_comptes dim requete as string = ("SELECT nom,service,login,mdp,tel,fax,email FROM administrateur where id_admin ='" & TextBox1.Text & "'" a.consulter_admin(requete) While reader.Read TextBox2.Text = reader.GetString(0) TextBox3.Text = reader.GetString(1) TextBox4.Text = reader.GetString(2) TextBox5.Text = reader.GetString(3) TextBox6.Text = reader.GetInt32(4) TextBox7.Text = reader.GetInt32(5) TextBox8.Text = reader.GetString(6) End While MsgBox("id_administrateur introuvable", MsgBoxStyle.Exclamation) reader.Close()
Please help me surtout que je maitrise aps bcp le vb.net( je suis débutante)
merci d'avance
Partager