DataSet, Datatable ...Rows.Add(...)

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von MarcoIT.

    DataSet, Datatable ...Rows.Add(...)

    Hallo,

    verste da grad was nicht und bitte euch kurz um Hilfe.

    Habe zwei Datatable in einem DataSet...

    In der ersten Datatable sind meine Datensätze aufgelistet, mit einem Doppelklick im DGV das zu Datatable 1 gehört soll so:

    VB.NET-Quellcode

    1. Database1DataSet.Tab_Reiseplanung.Rows.Add(0, RP_Nummer, .....


    in der zweiten Datatable ein Datensatz angelegt werden.


    Ich weis nur nicht was ich an der ersten Stelle angeben soll... 0 geht ja ned, weil eine 0 als ID (was die erste Spalte ja ist) nur einmal geht...
    "" geht auch nicht, weil Zahl... usw...


    Was muß ich an erster Stelle angeben, dass er mir dir ID selbst vergibt bzw. er den DS anlegt?

    lris
    War n guter Tipp allerdings nicht hilfreich für mich.
    Ich habe eine Combobox in der sich ein String befindet. Nun will ich diesen String per Klick auf einen Button einfügen lassen....
    geht nicht da kommt immer "Current" in dem DataSet unter Kundenname:

    VB.NET-Quellcode

    1. Private Sub bt_erledigt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_erledigt.Click
    2. DataSet1.Tables("Kundenname").Rows.Add(cb_kunden.SelectedItem)
    3. End Sub


    Läääuft jetzt auch noch einen Fehler bekommen der nicht sein kann!!

    Fehler 163 Die Moduldatei "C:\Users\Marco\Documents\BLAAAAAA\DataSet1.vb" kann nicht geöffnet werden: Systemfehler &H80041feb& C:\Users\Marco\BLAAAAAAAAA\Webservice\DataSet1.vb 1 1 Webservice

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

    VB.NET-Quellcode

    1. Dim EintragsName As <DEINDATASET>.<DEINEDATATABLE>Row
    2. EintragsName = <DEINDATASET>.<DEINEDATATABLE>.NewRow
    3. EintragsName .<DAS_FELD_IN_DEN_DER_EINTRAG_REIN_SOLL> = Combobox1.Text
    4. <DEINDATASET>.<DEINEDATATABLE>.Rows.Add(EintragsName )


    Klar hilft Dir dieser Link... siehe oben, und schon funzelt es!

    lris08 schrieb:


    In der ersten Datatable sind meine Datensätze aufgelistet, mit einem Doppelklick im DGV das zu Datatable 1 gehört soll so:

    VB.NET-Quellcode

    1. Database1DataSet.Tab_Reiseplanung.Rows.Add(0, RP_Nummer, .....


    in der zweiten Datatable ein Datensatz angelegt werden.

    Du arbeitest mit typisierten Datasets!! Da darfst du die auch für dich arbeiten lassen!!

    also mindestens

    VB.NET-Quellcode

    1. Database1.Tab_Reiseplanung.AddTab_ReiseplanungRow(<erforderliche typisierte Parameter>)
    vlt. gibts aber auch eine DataRelation zw. den beiden Tabellen, da kann man dann auch die BindingSource für sich arbeiten lassen, dass die automatisch den richtigen Fremdschlüssel einträgt.

    Dazu müsstest du mehr über das Datenmodell erzählen.
    Ja wenn ich die DataSet selbständig arbeiten lassen soll, dann wünsche ich mir, dass die einfach meine Kundenauswahl aus meiner Combobox lesen.
    machen die aber nicht! Selbständig hin oder her aber da geht echt einfach nichts!
    Der schreibt mir immer nur "Current" ein und das verstehe ich nicht woher er das nimmt!!

    Edit:

    Ok habe das nun:

    VB.NET-Quellcode

    1. Private Sub bt_erledigt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_erledigt.Click
    2. Dim newKundenRow As DataSet1.KundenRow
    3. newKundenRow = DataSet1.Kunden.NewKundenRow()
    4. newKundenRow.KundenID = cb_kunden.Text
    5. DataSet1.Kunden.Rows.Add(newKundenRow)
    6. End Sub


    Und dennoch schreibt er Current rein... Warum?

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

    der Thread scheint erledigt, und für deine Frage müssteman etwas über dein Datenmodell erfahren.
    Mach vlt. besser einen eigenen Thread auf, vlt. im Datenbank-Forum.

    Nur soviel:
    Scheinbar hast du die Combo nicht per BindingSource gebunden, und auch sonst ergibt die Methode nicht viel Sinn: Ein Erledigt - Button, der einen neuen Kunden anlegt??
    Und vom neuen Kunden wird nur die ID gesetzt, keine weiteren Properties??

    Unter "Erledigt" stelle ich mir etwas anneres vor.