Avatar billede steensommer Praktikant
13. september 2011 - 23:57 Der er 6 kommentarer og
1 løsning

Slette række i DataGridview

Hej

Med nedenstående kode fylder jeg Datagridview1. Jeg ville imidlertid gerne kunne slette en valgt række OG samtidigt slette data i SQL databasens tabel. Hvordan kan det gøres?

Vh Steen

Public Class FrmHuskeliste

    Function BuildCnnStr(ByVal strServer As String, _
        ByVal strDatabase As String) As String

        Dim strTemp As String

        strTemp = "Provider=sqloledb;Data Source=100.46.1.10;Initial Catalog=" & strDatabase & ";USER ID=st;Password=xxx;"

        Return strTemp
    End Function


    Private Sub FrmHuskeliste_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim odData As OleDb.OleDbDataAdapter
        Dim dtList As DataTable = New DataTable()
        Dim strSQL As String

        '-- Create the SQL String
        strSQL = "Select * From Huskeliste"

        '-- Set up the exception catch
        Try
            '-- Create an instance of the data adapter, and then fill the data table
            odData = New OleDb.OleDbDataAdapter(strSQL, BuildCnnStr("100.46.1.10", "PatientregisteretSQL3;User ID=St;Password=xxx"))
            odData.Fill(dtList)

            DataGridView1.DataSource = dtList

        Catch oexpData As OleDb.OleDbException
            MsgBox(oexpData.Message)
        End Try
        dtList = Nothing
        odData = Nothing

    End Sub

   
End Class
Avatar billede arne_v Ekspert
14. september 2011 - 01:25 #1
Hvis du laver en:

odData.Update(dtList)

saa burde opdateringerne skrives tilbage til databasen.
Avatar billede steensommer Praktikant
14. september 2011 - 07:06 #2
Hvor skal:

odData.Update(dtList)

placeres?
Avatar billede arne_v Ekspert
14. september 2011 - 15:02 #3
Det skal udfoeres efter at du har slettet.
Avatar billede steensommer Praktikant
14. september 2011 - 21:46 #4
Når jeg kører den får jeg følgende fejl:

Objektreferencen er ikke indstillet til en forekomst af et objekt.
Avatar billede arne_v Ekspert
15. september 2011 - 00:31 #5
Saa er enten odData eller dtList vel null der hvor du har sat linien ind.
Avatar billede steensommer Praktikant
15. september 2011 - 12:18 #6
Det er jo nok disse der nulstillede dem:
dtList = Nothing
odData = Nothing

MEN selvom jeg fjernes dem fungerer det fortsat ikke.

Jeg har bl.a. prøvet dette for at teste MEN den sletter IKKE i databasen :-/:

        Dim I As Long
        For I = 0 To DataGridView1.Rows.Count - 1
            If DataGridView1.Rows(I).Selected Then
                With DataGridView1.Rows(I)
                    ' DataGridView1.Rows(I).Cells.Clear()
                    strSQL = "Delete from Huskeliste where Nr = '4'"
                    odData = New OleDb.OleDbDataAdapter(strSQL, BuildCnnStr("100.46.1.100", "PatientregisteretSQL3;User ID=St;Password=xxx"))

                    DataGridView1.Rows.Remove(DataGridView1.CurrentRow)
                    odData.Update(dtList)
                End With

            End If

        Next I
Avatar billede steensommer Praktikant
16. september 2011 - 21:11 #7
Nå jeg klarede det selv :-/
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester