Bonjour,
Voici le code suivant en Vb.net qui est des plus simples
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox2.Text = "Bonjour" End Sub
L’argument sender est transmis par valeur alors qu’il est de type Objet donc structuré.
Il en est de même pour l’argument e de type EventArgs
Pouvez vous m’expliquer pourquoi on n’utilise pas ByRef pour
les passage des arguments sender et e
De la même manière lorsque l’on crée un nouveau SqlDataAdapter par exemple avec cette instruction
D’après le constructeur de la classe SqlDataAdapter, l’argument objConn, qui ,à la base, est de type SqlConnection, donc de type structuré, est passé par valeur et non pas par référence
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ObjDA As SqlDataAdapter objDA = New SqlDataAdapter(StrSQLThesaurus1, objConn)
Pouvez vous m’en expliquer la raison.
Merci beaucoup à vous.
Autre et dernière question:
J'ai crée un dataset objDS qui contient le resultat d'une selection de termes de la table TERMES, comme vous pouvez le comprendre d'après ce code
On suppose que objConn est une connxion à la BDD déjà initialisée
Pour chaque ligne de la table objDS_THESAURUS du dataset objDS, qui contient donc le contenu des champs ID_TERME et LIB_TERME de la table TERMES, on ajoute un ListViewItem à la ListView appelée List_view_termes et par la fonction Add, on recupère l'adresse du nouveau ListViewItem dans la variable lvi
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 StrSQLThesaurus1 as String StrSQLThesaurus1 = "SELECT ID_TERME,LIB_TERME from TERMES;" 'on ajoute la table THESAURUS_objDS au dataset objDS objDA = New SqlDataAdapter(StrSQLThesaurus1, objConn) objDS = New DataSet objDA.Fill(objDS, "objDS_THESAURUS") objConn.Close()
Du fait que j'ai mis l'option Strict à ON, je reçois un message qui m'annonce que du fait de cette option Strict à ON, il ne peut y avoir de conversion implicite du type Object vers le type String.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Dim lvi as ListViewItem For Each ligne_table_termes_objDS In objDS.Tables("THESAURUS_objDS").Rows lvi = List_view_termes.Items.Add(ligne_table_termes_objDS("LIB_TERME"))
Pourquoi ligne_table_termes_objDS("LIB_TERME")) est il considéré comme étant de type Object et pas de type dataRow.
Merci beaucoup encore de votre aide.
Bien cordialement.
Nathalie
Partager