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