Bonjour.

Je copie le contenu d'un DatasetA vers un DatasetB sans problème mais le Update du DatasetB ne s'effectue pas bien qu'il ne provoque aucune erreur.

Voici mon code:

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
23
24
25
26
27
28
29
30
31
32
 
 Private Sub btnTransfert_Click(sender As Object, e As EventArgs) Handles btnTransfert.Click
        Dim cnnSQL As New SqlConnection(_ConnStr)
        Dim adpSQL As New SqlDataAdapter("SELECT cliNom, cliPrenom FROM tabCLients", cnnSQL)
        Dim dtsSQL As New DataSet
        Dim cmdSQL As New SqlCommand("DELETE FROM tabTest")
 
        cnnSQL.Open()
        cmdSQL.Connection = cnnSQL
        cmdSQL.ExecuteNonQuery()
 
        adpSQL.Fill(dtsSQL, "tabClients")
 
        Dim adpSQL2 As New SqlDataAdapter("SELECT * FROM tabTest", cnnSQL)
        Dim bldSQL As New SqlCommandBuilder(adpSQL2)
        Dim dtsSQL2 As New DataSet
 
        adpSQL2.Fill(dtsSQL2, "tabTest")
 
        'Méthode 1:
        'dtsSQL2.Tables("tabTest").Load(dtsSQL.Tables("tabClients").CreateDataReader)
 
        'Méthode 2:
        For x = 0 To dtsSQL.Tables("tabClients").Rows.Count - 1
            dtsSQL2.Tables("tabTest").ImportRow(dtsSQL.Tables("tabClients").Rows(x))
        Next
 
        adpSQL2.Update(dtsSQL2.Tables("tabTest"))
 
        cnnSQL.Close()
        cnnSQL.Dispose()
    End Sub
Comme vous pouvez voir j'ai essayé le transfert de 2 manières différentes et dans les 2 cas le transfert de données s'effectue correctement mais c'est comme si la ligne Update était absente. Je ne veux pas non plus appeler une commande 'Insert Into tabTest...' autant de fois que j'ai de lignes.

Quelqu'un connait un moyen de faire ce que je veux faire sans passer item par item et ligne par ligne??

Merci.

Pascal G.