Bonjout à tous,

Sur un bouton, j'ai le code suivant:

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
Try
            Dim strRequest = "SELECT * FROM services WHERE service = '" & Me.txt_service.Text & "'"
            Dim oCommand As New OleDb.OleDbCommand(strRequest, oConnectionDept)
 
            dataReaderDept = oCommand.ExecuteReader
            If Not dataReaderDept.Read() Then   'INSERT
                dataReaderDept.Close()
                strRequest = "INSERT INTO services VALUES ('" & SupprimeAccent(Me.txt_service.Text) & "','" & Me.txt_local.Text & "', '', 0)"
                oCommand = New OleDb.OleDbCommand(strRequest, oConnectionDept)
                oCommand.ExecuteNonQuery()
            Else
                dataReaderDept.Close()
                MsgBox("Ce département est déjà stocké dans la base de données.")
            End If
 
            dataAdapterDept.Update(DS.Tables("services"))
            DataGrid1.DataSource = DS.Tables("services")
            DataGrid1.Refresh()
        Catch ex As Exception
            dataReaderDept.Close()
            MsgBox(ex.Message)
        End Try
Au chargement de ma form, j'alimente un datagrid comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 dataAdapterDept = New OleDb.OleDbDataAdapter("select * from services", oConnectionDept)
            dataAdapterDept.Fill(DS, "services")
            DataGrid1.DataSource = DS.Tables("services")
J'ai deux problèmes:
- Mon datagrid ne se remet pas à jour avec cette ligne:
dataAdapterDept.Update(DS.Tables("services"))

- Si j'appuie une seconde fois sur le bouton, j'ai une erreur me disant que le record existe déjà (duplicates). Alors que je viens de l'insèrer et que je fais un test via le select pour voir s'il si trouve ou non.

Quelqu'un aurait un exemple ou une idée pour m'aider sur ce point?

Merci d'avance.