coulibalysy
Messages postés12Date d'inscriptionvendredi 30 mai 2008StatutMembreDernière intervention 6 février 2009
-
24 janv. 2009 à 12:47
coulibalysy
Messages postés12Date d'inscriptionvendredi 30 mai 2008StatutMembreDernière intervention 6 février 2009
-
30 janv. 2009 à 18:28
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.
'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.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