Je suis débutant en VB.net et je developpe sur VB.Net Express 2008
Lorsque je lance l'exe mon programme me signale l'erreur suivante:
"La conversion du type 'DBNull' en type 'String' n'est pas valide." à la ligne que j'ai présenté en rouge dans le programme ci-dessus. SVP venez moi en aide.
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92 'déclaration des variables Private cnx As OleDbConnection Private cmd As OleDbCommand Private dta As OleDbDataAdapter Private cmdb As OleDbCommandBuilder Private dts As New DataSet Private dtt As DataTable Private dtc As DataColumn Private dtr As DataRow Private rownum As Integer Private conn As String Private sql As String Private Sub Inscriptions_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'ouverture de la connection(à partir du répertoire de l'application) conn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=..\Etablissements.accdb" cnx = New OleDbConnection cnx.ConnectionString = conn cnx.Open() 'exécution de la commande(cmd), 'du dataadapter (dta), 'du dataset(dts), 'de la datatable (dtt) 'sql=>cmd=>dta 'cnx=>cmd 'dta=>dts=>dtt sql = "select Étudiants.* from Étudiants" cmd = New OleDbCommand(Sql) dta = New OleDbDataAdapter(cmd) cmd.Connection() = cnx 'chargement du DataSet à partir du DataAdapter dta.Fill(dts, "Étudiants") 'chargement de la DataTable à partir du DataSet dtt = dts.Tables("Étudiants") 'si la table est vide alors If rownum > dtt.Rows.Count - 1 Then 'désactivation des boutons pour éviter une erreur 'si la table est vide BntNouveau.Enabled = False BntEnrégistrer.Enabled = True BntSupprimer.Enabled = False BntQuitter.Enabled = False Me.Show() Me.Nom.Focus() Else 'affichage des données dans les textbox Me.Nom.Text = dtt.Rows(rownum).Item("nom") Me.Prénoms.Text = dtt.Rows(rownum).Item("prénom") Me.LieuNais.Text = dtt.Rows(rownum).Item("Lieu de Naissance") Me.TélPersonnel.Text = dtt.Rows(rownum).Item("Téléphone personnel") Me.TélProfessionnel.Text = dtt.Rows(rownum).Item("Téléphone professionnel") Me.TelMobile.Text = dtt.Rows(rownum).Item("Téléphone mobile") Me.Mail.Text = dtt.Rows(rownum).Item("Page Web") Me.Télécopie.Text = dtt.Rows(rownum).Item("Numéro de télécopie") Me.Adresse.Text = dtt.Rows(rownum).Item("Adresse") Me.Ville.Text = dtt.Rows(rownum).Item("Ville") Me.CP.Text = dtt.Rows(rownum).Item("Code Postal") Me.Departement.Text = dtt.Rows(rownum).Item("Département") Me.Remarque.Text = dtt.Rows(rownum).Item("Remarques") Me.IDEtudiant.Text = dtt.Rows(rownum).Item("ID étudiant") Me.DateInscription.Text = dtt.Rows(rownum).Item("Date Inscription") Me.NumInscription.Text = dtt.Rows(rownum).Item("N°Inscription") Me.Hinscription.Text = dtt.Rows(rownum).Item("Heure Inscription") Me.ContactUrgence.Text = dtt.Rows(rownum).Item("Nom contact en cas d'urgence") Me.Tél1Urgence.Text = dtt.Rows(rownum).Item("Téléphone du contact pour les urgences 1") Me.Tél2Urgence.Text = dtt.Rows(rownum).Item("Téléphone du contact pour les urgences 2") Me.RelationUrgence.Text = dtt.Rows(rownum).Item("Relation contact pour les urgences") Me.NomMedecin.Text = dtt.Rows(rownum).Item("Nom du médecin") Me.TélMedecin.Text = dtt.Rows(rownum).Item("Numéro de tél du médecin") Me.Allergies.Text = dtt.Rows(rownum).Item("Allergies") Me.Médicaments.Text = dtt.Rows(rownum).Item("Médicaments") 'affichage des données dans le datagrid DataGridView1.DataSource = dtt BntEnrégistrer.Enabled = False End If BntQuitterRecherche.Enabled = False End Sub
Partager