Exception en vb.net
sahroucha
Messages postés
1
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
lors de débogage de mon application j'eu cette exception
"Une exception non gérée du type 'System.ArgumentException' s'est produite dans Microsoft.VisualBasic.dll
Informations supplémentaires : L'argument 'Prompt' ne peut pas être converti en type 'String'."
après le code suivant
aidez-moi svp
"Une exception non gérée du type 'System.ArgumentException' s'est produite dans Microsoft.VisualBasic.dll
Informations supplémentaires : L'argument 'Prompt' ne peut pas être converti en type 'String'."
après le code suivant
Private Sub Btnsauv_Click(sender As Object, e As EventArgs) Handles Btnsauv.Click If txtnom.Text = String.Empty Or txtpays.Text = String.Empty Or txtville.Text = String.Empty Or txttel.Text = String.Empty Or txtdesc.Text = String.Empty Or txtemail.Text = String.Empty Or txtclasse.Text = String.Empty Then MessageBox.Show("Il faut remplir tous les champs SVP !!! ") Else ouvrircnx() Dim rsql As String = "Insert into hotel (nomhotel,pays,ville,classe,tel,desc,email) values ('" & txtnom.Text & "','" & txtpays.Text & "','" & txtville.Text & "','" & txtclasse.Text & "','" & txttel.Text & "','" & txtdesc.Text & "','" & txtemail.Text & "')" MsgBox(rsql) Dim cmd As New OleDbCommand(rsql, cnx) Try cmd.ExecuteNonQuery() Catch ex As Exception MsgBox(ex) End Try fermercnx() End If End Sub
aidez-moi svp
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Exception en point flottant
- Point de suite word - Guide
- Point de restauration - Guide
- Comment inserer une video dans un power point - Guide
- Point gps - Guide
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : - Guide
2 réponses
Bonjour
si si c'est bien aussi de commencer une discussion par saluer.
A quel ligne se produit cette erreur?
si si c'est bien aussi de commencer une discussion par saluer.
A quel ligne se produit cette erreur?
Bonjour,
quelques suggestions ...
Si tu développe en .NET, l'utilisation de la dll Microsoft.VisualBasic.dll est à proscrire, cette référence permet l'utilisation d'instruction VB6, or tu programme en .NET ou en VB6 ?
L'instruction MsgBox est une instruction VB6, MessageBox.Show est l'instruction de remplacement.
L'instruction "txtnom.Text = String.Empty" devrait plutôt être formuler
"Not (String.IsNullOrEmpty(txtnom.text)" et ainsi de suite.
Il serait aussi possible de dériver un textbox pour ajouter la propriété "Vide".
Dans la dérivation, dans la méthode textbox_Changed on test le contenu et on affecte la propriété "Vide" a True ou False.
Lors de l'évènement Load du formulaire on initialise toutes ces propriétés.
ensuite l'instruction devient :
If (txtnom.Vide OrElse txtpays.Vide OrElse ...) Then
Pour l'erreur il faut vérifier la connexion :
La chaine de connexion -> https://www.connectionstrings.com/
La syntaxe de la requête dépend de ta BD, il faut alors spécifier avec quel
BD tu travaille.
Une application par couche serait aussi préférable.
Une couche d'accès aux données (UAD - Unité d'Accès au Données) ou
(CDA - Control Data Acces), une couche de logique d'affaire (SLA - Service de Logique d'Affaire) et la couche de présentation (Le formulaire).
Accéder à une BD directement à partir de la couche de présentation est à éviter.
Enfin, c'est mon point de vue.
Ici, un exemple simplifié de mon cru (couche unité d'accès aux données et couche de présentation).
https://mon-partage.fr/f/3qJu82Zf/
K
quelques suggestions ...
Si tu développe en .NET, l'utilisation de la dll Microsoft.VisualBasic.dll est à proscrire, cette référence permet l'utilisation d'instruction VB6, or tu programme en .NET ou en VB6 ?
L'instruction MsgBox est une instruction VB6, MessageBox.Show est l'instruction de remplacement.
L'instruction "txtnom.Text = String.Empty" devrait plutôt être formuler
"Not (String.IsNullOrEmpty(txtnom.text)" et ainsi de suite.
Il serait aussi possible de dériver un textbox pour ajouter la propriété "Vide".
Dans la dérivation, dans la méthode textbox_Changed on test le contenu et on affecte la propriété "Vide" a True ou False.
Lors de l'évènement Load du formulaire on initialise toutes ces propriétés.
ensuite l'instruction devient :
If (txtnom.Vide OrElse txtpays.Vide OrElse ...) Then
Pour l'erreur il faut vérifier la connexion :
La chaine de connexion -> https://www.connectionstrings.com/
La syntaxe de la requête dépend de ta BD, il faut alors spécifier avec quel
BD tu travaille.
Une application par couche serait aussi préférable.
Une couche d'accès aux données (UAD - Unité d'Accès au Données) ou
(CDA - Control Data Acces), une couche de logique d'affaire (SLA - Service de Logique d'Affaire) et la couche de présentation (Le formulaire).
Accéder à une BD directement à partir de la couche de présentation est à éviter.
Enfin, c'est mon point de vue.
Ici, un exemple simplifié de mon cru (couche unité d'accès aux données et couche de présentation).
https://mon-partage.fr/f/3qJu82Zf/
K