La référence d'objet n'est pas définie à une instance d'un objet

Fermé
ilooo Messages postés 2 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 6 juin 2013 - 17 mai 2013 à 11:51
Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 - 7 juin 2013 à 15:34
bonjour,

je développe une application sur la VB.net et j'utilise la technologie ADO( le mode deconnecté) et j'ai rencontré un problème : "la référence d'objet n'est pas définie à une instance d'un objet"

voilà le code que j'ai ecrit:


Imports System.Data.SqlClient
Public Class Form1
Dim con As New SqlConnection("DATA Source=.\sqlexpress;Initial Catalog=test;Integrated Security=True")
Dim ds As New DataSet("test")
Dim da As New SqlDataAdapter


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If con.State = ConnectionState.Closed Then
con.Open()
End If

da.SelectCommand = New SqlCommand("Select * From client")
da.SelectCommand.Connection = con
da.MissingSchemaAction = MissingSchemaAction.AddWithKey

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

ds.Tables("client").Rows.Add(TextBox1.Text.ToString, TextBox2.Text)


End Sub

le message s'affiche au niveau de ce ligne là:
--->> ds.Tables("client").Rows.Add(TextBox1.Text.ToString, TextBox2.Text)

Merci d'avance pour votre aide :)

3 réponses

Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 20
Modifié par Kalissi le 31/05/2013 à 01:15
Bonjour,

--->> ds.Tables("client").Rows.Add(TextBox1.Text.ToString, TextBox2.Text)

Il te faut tenir comptes des sous objets te ton objet de niveau 1

Tu défini :

Dim ds As New DataSet("test")

donc ds.tables("client") n'exite pas.

en te référant à l'exemple ici :
https://plasserre.developpez.com/cours/vb-net/?page=bases-donnees2#LXVII-F-2

J'ai supprimer les commentaires, mais c'est le principe.

Private ObjetDataSet As New DataSet
Private ObjetDataTable As New DataTable
ObjetCommand = New OleDbCommand(strSql)
ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
ObjetDataAdapter.Fill(ObjetDataSet, "FICHEPATIENT")
ObjetDataTable = ObjetDataSet.Tables("FICHEPATIENT")

tu trouveras que l'on ajoute une row à un dataset
et qu'on remplie une table à partir d'un dataset.

K
2
ilooo Messages postés 2 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 6 juin 2013
6 juin 2013 à 14:21
BONJOUR
merci bien pour votre aide mais je crois que le code est correcte mais j'ai un problème avec l' SQL (j'arrive pas à le connecter avec le serveur)
0