Message d erreur lors de sauvegarde

oussamatr Messages postés 7 Date d'inscription mercredi 13 août 2008 Statut Membre Dernière intervention 3 juillet 2011 - 3 juil. 2011 à 20:31
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 3 juil. 2011 à 21:39
bonjour;

j ai un erreur lors d exécution de code vb (lors de sauvegarde des utilisateurs)
voilà le code :
Imports System.Data
Imports System.Data.SqlClient
Imports System.ArgumentOutOfRangeException




Public Class Form1
    Public cs As New SqlConnection("Data Source=OUSSAMA-PC\SQLEXPRESS;Initial Catalog=test;Integrated Security=True")
    Public da As New SqlDataAdapter("select * from carte", cs)
    Public ds As New DataSet
    Public cmb As New SqlCommandBuilder(da)



    Public Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO : cette ligne de code charge les données dans la table 'TestDataSet.carte'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.CarteTableAdapter.Fill(Me.TestDataSet.carte)

    End Sub

    Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click



    End Sub

    Public Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
        da.UpdateCommand =  cmb.GetUpdateCommand
      da.Update(ds.Tables("carte"))
        Return


    End Sub

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

    End Sub

    Private Sub IDTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IDTextBox.TextChanged
        
    End Sub
End Class
Public Class ArgumentNullException
    Inherits Form1
    Dim instance As ArgumentNullException

End Class



le code ce trouve dans : da.UpdateCommand = cmb.GetUpdateCommand

merci de me repondre

3 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
3 juil. 2011 à 21:16
Bonjour,

Déjà, quelques remarques sur le code :
Faire des inits de classes directement dans la déclaration des attributs, pourquoi pas, mais je te déconseille de le faire si les objets interagissent, car tu ne connais pas à l'avance l'ordre d'init, donc tu peux avoir de problèmes.

Ensuite,
Imports System.ArgumentOutOfRangeException
Pourquoi importer cette classe ?

Et :
Public Class ArgumentNullException
Inherits Form1
Dim instance As ArgumentNullException
End Class

A quoi elle sert cette form ?

Enfin pour en arriver à LA question, quelle erreur ? Quel message d'erreur ?

Mon site
0
oussamatr Messages postés 7 Date d'inscription mercredi 13 août 2008 Statut Membre Dernière intervention 3 juillet 2011
3 juil. 2011 à 21:22
merci mon ami à propos le message d erreur c'est :
l exception argumentnullexception n a pas été gérée
la valeur ne peut pas étre null.nom du paramétre :dataTable

s arrive lors de sauvegarde
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
3 juil. 2011 à 21:39
Bonjour,

En regardant mieux ton code, il y a plusieurs incohérences :
Tu déclares :
Public cs As New SqlConnection("Data Source=OUSSAMA-PC\SQLEXPRESS;Initial Catalog=test;Integrated Security=True")
Public da As New SqlDataAdapter("select * from carte", cs)
Public ds As New DataSet
Public cmb As New SqlCommandBuilder(da)


Ensuite, au chargement tu fais :
Me.CarteTableAdapter.Fill(Me.TestDataSet.carte)


Et pour enregistrer :
da.UpdateCommand = cmb.GetUpdateCommand
da.Update(ds.Tables("carte"))

Questions :
- Où est rempli le DataSet ?
- Si tu veux afficher les données, où est cette instruction ? Car "TestDataSet" et "CarteTableAdapter" ne sont pas déclarés, ce sont des contrôles ?

Et sinon pour gérer une exception, il faut utiliser Try/Catch.

Mon site
0
Rejoignez-nous