lokale Datenbank durchsuchen

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Vatter.

    lokale Datenbank durchsuchen

    Hallo,

    ich habe eine lokale Datenbank angelegt mit mehreren Zeilen und Spalten.

    Nun würde ich gern in dieser Datenbank die erste Spalte nach einem Begriff durchsuchen lassen. wenn der Begriff gefunden wurde, möchte ich dann die Werte der anderen Spalten in dieser Zeilen in Variablen abspeichern.

    Kann mit jemand weiterhelfen?
    Wenn du Null Plan von Datenbanken etc hast, würde ich dir was objektorientiertes empfehlen. Dann brauchst du dich nur um VB lernen kümmern und die DB läuft nebenher mit.

    Eloquera (installierbar via NuGet) bietet sich an und ist ganz witzig.
    Hab es nun mit folgendem Code versucht:
    Dim table AsDataTable = DatabaseDataSet.Tables(0)
    ' Presuming the DataTable has a column named Date.
    Dim expression AsString = "Bezeichnung"'"Date > 1/1/00"
    ' Sort descending by column named CompanyName.
    Dim sortOrder AsString = "TEST"'"CompanyName DESC"
    Dim foundRows() AsDataRow
    ' Use the Select method to find all rows matching the filter.
    foundRows = table.Select(expression, sortOrder)

    Dim i AsInteger
    ' Print column 0 of each returned row.For i = 0 To foundRows.GetUpperBound(0)
    Console.WriteLine(foundRows(i)(0))
    Next i


    bekomm immer die Fehlermeldung "Spalte TEST wurde nicht gefunden.", aber das soll ja nicht der Spaltenname sein sondern das zu suchende Wort.

    Aber du willst nach der Spalte TEST sortieren!!!!

    VB.NET-Quellcode

    1. Dim sortOrder AsString = "TEST"'"CompanyName DESC"


    Und bitte verwende doch die VB-Tags
    Bitte VB Tags benutzen - was ist damit gemeint?


    VB.NET-Quellcode

    1. Dim dr() as DataRow
    2. dr = DatabaseDataSet.Tables(0).Select("Bezeichnung = Test", "")
    3. Dim i AsInteger
    4. ' Print column 0 of each returned row.For i = 0 To foundRows.GetUpperBound(0)
    5. Console.WriteLine(foundRows(i)(0))
    6. Next i


    Du kannst aber natürlich auch mit einer DataView arbeiten:
    msdn.microsoft.com/de-de/libra…ta.dataview(v=vs.80).aspx

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „icemanns“ ()

    bei

    VB.NET-Quellcode

    1. Dim dr() As DataRow
    2. dr = frmAuswahlSeiltyp.DatabaseSeiltypenDataSet.Tables(0).Select("Bezeichnung = Test", "")
    3. Dim i As Integer
    4. ' Print column 0 of each returned row.
    5. For i = 0 To dr.GetUpperBound(0)
    6. Console.WriteLine(dr(i)(0))
    7. Next i


    bekomm ich immer noch de Fehlermeldung: "Die Spalte [Test] wurde nicht gefunden."
    Du hast doch ein Dataset.
    Erstelle nun mal eine Form und ziehe aus dem Datenquellenfester die gewünschte Tabelle darauf. Es erstellt sich ein Datagridview, das an diese Tabelle mit einer Bindingsource gebunden ist. Den Bindingnavigator kannste erstma löschen, den brauchst du nicht.
    Jetzt filterst du deinen gesuchten Datensatz mit Hilfe der Bindingsource.Filter-Eigenschaft heraus indem du einen String in der Form "Spaltenname Like 'Suchwort'" übergibst. Dann hast du auch den Datensatz inkl. den übrigen Spalten zum Bearbeiten zur Verfügung. Die hier getätigten Änderungen werden unmittelbar in die Tabelle deines Dataset übertragen.
    Willst du eine Detailview? Dann gehe im Datenquellenfester auf den Pfeil neben Tabelle und wähle statt Datagridview Detail aus und ziehe diesen Knoten ebenfalls auf deine Form. Nu haste für jede Spalte ne Textbox und es wird immer der Datensatz geladen, der im Datagridview ausgewählt wurde.
    Das ganze funzt ohne eine Zeile Code :thumbsup:

    Schau auch mal hier rein...

    Fiel Fergnügen

    Vatter
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup: