Bonjour à tous

Voila je suis débutant en vb.net et j'ai un formulaire qui contient des enregistrements de plusieurs tables par exemple : table principale (Adherent) et les autres tables ( profession de l'adherent), (codepostal de l'adherent), etc ...

mon probleme et que je veux travailer en mode connecté c.a.d une dataset par programmation.

Exemple :


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
16
17
18
19
20
21
22
Public Sub AddInDb(ByVal Datas As String(), ByVal Sql As String, ByVal Table As String, ByVal Base As String)
        Dim cnx As New SqlConnection() 'On crée la variable de connexion
        Dim dts As New DataSet() 'On crée un cache mémoire des données
        Dim dtt As New DataTable() 'On crée la représentation de la table dans le cache
        Dim dtr As DataRow = Nothing 'On crée la représentation de la ligne dans la table
        'cnx.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = " & Application.StartupPath & "\" & Base 'définition du chemin de connexion
        cnx.ConnectionString = "Persist Security Info=False;Integrated Security=SSPI;" & "database=" & Base & ";server=.\SQLEXPRESS"
        cnx.Open() 'on ouvre la connexion
        Dim dta As New SqlDataAdapter(Sql, cnx) 'on adapte la connexion par rapport à ça requete
        dta.Fill(dts, Table) 'On aligne les données du dataset par rapport à la table (si la table n'existe pas l'erreur est ici)
        dtt = dts.Tables(Table) 'On envoi dans le dtt la table virtuelle
        dtr = dtt.NewRow() 'On définit la ligne comme étant une nouvelle ligne de la table virtuelle
        dtr(0) = dtt.Rows.Count + 1 'La premiere donnée sera d'incrémenter l'ID de la ligne
        For i As Integer = 1 To Datas.Length 'on rempli toutes les autres colonnes avec les données
            dtr(i) = Datas(i - 1)
        Next
        dtt.Rows.Add(dtr) 'On ajoute la ligne au datatable
        Dim cmd As New SqlCommandBuilder(dta) 'Création de la commande de modification de la base de donnée
        dta.UpdateCommand = cmd.GetUpdateCommand 'On définit la requete de modification
        dta.Update(dts, Table) ' on modifie en fonction des nouvelles données
        cnx.Close() 'On ferme la connexion
    End Sub

Cordialement