Textbox mit bestimmten Daten aus Datenbank füllen

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von ebk.

    Textbox mit bestimmten Daten aus Datenbank füllen

    Hey Leute,

    ich will, das in einer Textbox bestimmte Daten aus der Datenbank steht, nur wie mach ich das...

    Also aufbau meines Programmes: Ich habe eine Combobox1, die mit der Tabelle "Settings" verbunden ist und dort werden die "Accountnamen" in die Combobox übertragen und somit auswählbar gemacht.

    Dann habe ich eine 2te Combobox Wo ich ein Instrument auswählen kann aus der Tabelle "TC".

    Jetzt habe ich ein Label mit namen "LSMS" und eine Textbox mit "AP"
    darunter sind wieder ein Label mit Namen "SSMS" und wieder eine Textbox: "AP".

    Jetzt habe ich es mir so gedacht: Wenn Combobox1 ein Item ausgewählt wird und in der Combobox2 auch ein Item ausgewählt wird. Soll über die Textchanged option Die Daten aus der Datenbank gelesen werden, danach gefiltert werden (alle mit dem gleichen "Accountnamen" und mit de, ausgewählten Instrument) und wenn ein Datensatz mit "LSMS" existiert soll diese automatisch in die Textbox "AP" von "LSMS" geschrieben werden.

    Ich denke, dass man das über ein Array machen müsste, und dann einzelnt über eine Schleife die Daten auswerten und reinschreiben. Doch wie bekomme ich die Daten dann?

    sitze schon seit heute morgen daran, doch mir fällt einfach nichts ein..

    ctextrem schrieb:

    Soll über die Textchanged option
    Was meinst du damit?
    und wenn ein Datensatz mit "LSMS" existiert soll diese automatisch in die Textbox "AP" von "LSMS" geschrieben werden
    Willst du einen Datensatz in eine TextBox verfrachten? Kannst du das nochmals genauer schildern...
    Also was ich meine ist diese Option:

    VB.NET-Quellcode

    1. Private Sub Instrument_SelectedIndexChanged(ByVal sender As
    2. System.Object, ByVal e As System.EventArgs) Handles
    3. Instrument.SelectedIndexChanged
    4. If ACCW.Text.Length > 0 Then
    5. 'Hier der Code, Wenn in der 1ten Combobox etwas steht,
    6. Else
    7. End If
    8. End Sub
    9. Private Sub ACCW_SelectedIndexChanged(ByVal sender As System.Object,
    10. ByVal e As System.EventArgs) Handles ACCW.SelectedIndexChanged
    11. If Instrument.Text.Length > 0 Then
    12. 'Hier der Code, Wenn in der 2ten Combobox etwas steht,
    13. Else
    14. End If
    15. End Sub


    So und ich habe 5 Spalten (Instrument, Account, Name, Preis, Stop Loss) und eben mehrere Zeilen.
    Combobox1 ist mit der Datenbank und mit der Spalte "Instrument" verknüpft
    Combobox2 ist mit der Datenbank und der Spalte "Account" verknüpft.
    Wenn
    jetzt Cobobox1 und Combobox2 ein Item ausgewählt worden ist, soll die
    Tabelle danach gefilter werden und die restilichen 3 Spalten sollen
    jeweils in eine Textbox geschrieben werden. So:

    Instrument
    Account
    Name
    Preis
    Stop Loss
    USDJPY
    1
    SSMS
    0.443
    0.886
    EURUSD
    2
    SSMS
    1.445
    1.554
    EURUSD
    1
    SSMS
    1.847
    1.794
    AUDCAD
    1
    LSMS
    1.009
    1.100


    Jetzt wird z.b. in der Combobox1 Das Instrument "EURUSD" und der Account "1" gewählt. Danach sieht die Tabelle so aus:

    Instrument
    Account
    Name
    Preis
    Stop Loss
    EURUSD
    1
    SSMS
    1.847
    1.794

    jetzt soll der Wert von "Preis" in Textbox1 geschrieben werden und der Wert von "Stop Loss" in Textbox2 geschrieben werden.

    Hoffe ich konnte es jetzt besser erklären

    VB.NET-Quellcode

    1. 'Welche Spalte angezeigt werden soll, beim aufklappen der Cmb legst du fest mit 'ValueMember ' oder displaymember, wo da jetzt der unterschied ist... wusst ich auch mal.
    2. strSQL = "SELECT * FROM tOrders"
    3. myDataset = myAdp.FillDataset(strSQL, "tblOrders")
    4. Me.ComboBox1.ValueMember = "CustomerID" ' ist eine ColumnName in meiner Tabelle


    VB.NET-Quellcode

    1. 'So kriegst du die gewählten Values
    2. Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
    3. Dim item As DataRowView = TryCast(Me.ComboBox1.SelectedItem, DataRowView)
    4. If (Not item Is Nothing) Then
    5. With item.Row
    6. 'You have now access to the row of your table.
    7. Dim columnValue1 As String = .Item("CustomerID").ToString()
    8. Dim columnValue2 As String = .Item("ShipName").ToString()
    9. ' jetzt schieb diese Values in deine Textboxen
    10. End With
    11. End If
    12. End Sub