Anzeige

Suche in Datenbank (Textbox)


#1
Hallo zusammen,

habe einen Code bzgl. eines Formulars zu einer kleiner Datenbank geschrieben, der soweit funktioniert.

Nun folgende Problematik:
Das Click-Ereignis der Schaltfläche (btnSuchen) soll so programmiert werden, dass in der TextBox (txtSuchen) eingegebene Werte in der Spalte Titel gefunden werden.

Folgend der Code, den ich bereits zum Formular geschrieben habe.


Code:
Public Class frmNavigation
    Dim dt As New DataTable
    Dim bs As New BindingSource

    Private Sub Laden(sender As Object, e As EventArgs) _
        Handles btnLaden.Click

        Dim c As New SqlClient.SqlConnection

        c.ConnectionString = "Data Source=(LocalDB)\MSSQLLocalDB;" _
            & "AttachDbFilename=|DataDirectory|\Datenbank_Buecher.mdf;" _
            & "Integrated Security=True;" _
            & "Connect Timeout=30;"
        c.Open()

        Dim da As New SqlClient.SqlDataAdapter
        da.SelectCommand = (New SqlClient.SqlCommand("SELECT * FROM Buch", c))
        da.Fill(dt)
        c.Close()

        bs.DataSource = dt

        Dim b As Binding

        b = New Binding("Text", bs, "Buch_id")
        txtBuch_id.DataBindings.Add(b)
        b = New Binding("Text", bs, "Verlag_id")
        txtVerlag_id.DataBindings.Add(b)
        b = New Binding("Text", bs, "Autor_id")
        txtAutor_id.DataBindings.Add(b)
        b = New Binding("Text", bs, "Titel")
        txtTitel.DataBindings.Add(b)
        b = New Binding("Text", bs, "Untertitel")
        txtUntertitel.DataBindings.Add(b)
    End Sub

    Private Sub Navigation(sender As Object, e As EventArgs) _
        Handles btnErster.Click,
                btnVorheriger.Click,
                btnNaechster.Click,
                btnLetzter.Click
        Select Case sender.name
            Case btnErster.Name
                bs.MoveFirst()
            Case btnVorheriger.Name
                bs.MovePrevious()
            Case btnNaechster.Name
                bs.MoveNext()
            Case btnLetzter.Name
                bs.MoveLast()
        End Select
    End Sub

End Class
Bzgl. der Suche dachte ich an Folgendes:

Code:
    Private Sub btnSuchen_Click(sender As Object, e As EventArgs) _
        Handles btnSuchen.Click
        With txtSuchen
            .DataSource = dt
            .DisplayMember = "Titel"
        End With
    End Sub
    Private Sub txtSuchen_SelectedIndexChanged(sender As Object, e As EventArgs) _
        Handles txtSuchen.SelectedIndexChanged
        Dim pos As Integer
        pos = bs.Find("Name", txtSuchen.Text)
        If pos > -1 Then bs.Position = pos
    End Sub
Funktioniert aber nicht. Kann mir bitte jemand weiterhelfen?

Vielen Dank & viele Grüße
Sarah
 
Anzeige

Neue Beiträge

Anzeige