Listviewinhalt importieren in DB und im DGV(o.ä.?) anzeigen

  • VB.NET

Es gibt 59 Antworten in diesem Thema. Der letzte Beitrag () ist von schoeler.k.

    Listviewinhalt importieren in DB und im DGV(o.ä.?) anzeigen

    Hi Jungs,

    ich bin mit meiner Aufgabe fast fertig. Ich muss Excel listen importieren, im Listview anzeigen und den inhalt in die Datenbank importieren. Dannach sollen alle Datensätze wieder angezeigt werdem (dachte da an ein DGV, aber bin mir nicht sicher,tipps?)
    Nur weiss ich leider nicht wie ich das anstellen soll.

    Bitte um Hilfe..

    Danke :thumbsup:
    Ich möchte ungerne direkt an die datenbank binden weil sich die datenbank ändert. Sprich, sie solle sich per code füllen lassen. Wie mach ich das?
    Und wie bekomme ich jede Zeile in der Listview in die Datenbank importiert? Muss ich für jede Zeile nen query basteln? Das wäre doch quatsch oder? :D

    :thumbsup:
    Von Excel zu ListView - Zum Anzeigen welchen Inhalt man gerade importiert hat
    Von ListView zu Datenbank - Damit der importierte Inhalt in die Datenbank kommt
    Von Datenbank zu DGV - Damit der neue Stand nachem importeren Strukturiert angezeigt wird
    Von DGV zu Datenbank

    So ist das geplant :)
    Und den ersten Schritt habe ich bereits fertig.
    Von Excel in DGV und dann von dort aus in die Datenbank.
    ODER:

    Beides Gleichzeitig.
    Gleichzeitig in DGV und Datenbank.
    Du musst ja eh eine Schleife durchlaufen, die die Excel Zeilen abarbeitet.
    Dann machste am Ende jedes Druchlaufs ein Insert Into.
    Zusätzlich solltest du in die DB auch ein Datumsfeld packen, damit du weißt wann das eingelesen wurde.
    Könnte ja mal wichtig sein.
    Im DGV brauchst das Datum natürlich nicht, wenn es zur direkten Anzeige vom Import dient.

    Bin auch erst im ersten Ausbildungsjahr ;)
    Aber du solltest darauf achten Redundanz/Wiederholungen zu vermeiden.
    Außerdem solltest du nach dem Motto leben: "Ich bin ein fauler Programmierer und will so wenig wie möglich schreiben."
    So hat mir das mein Prof in der Uni klargemacht ;)
    hehe dieses Motto habe ich schon oft gehört :D
    Also verstanden hab ich es mit dem insert into. Macht sinn. Nur mein Problem ist, wie kann ich im dgv die ganze datenbank abbilden OHNE klickiklicki, sprich per Code? Wenn ich jetzt ne feste DB hätte würde ich Datasource etc. - Eigenschaft benutzen und hätte mit paar klicks meine perfekt gefüllte DGV. Wie mach ich das?

    Danke das du so hilfsbereit bist :) :love:


    //EDIT:

    Das mit dem Insert into kann ich nicht direkt mit in die schleife setzen, weil der user sich erst die Listview anschauen soll,ob alles stimmt und dann per Button Bestätigen soll.
    Also das DGV machst du natürlich auf ne Form und bearbeitest das im voraus.
    Heißt die richtige Anzahl an Spalten und die dementsprechenden Überschriften.
    Dann musst du ja nur noch wie bei Excel Zeile und Spalte beim füllen des DGV mitgeben und
    es steht drin.
    Wobei die Anzeige in einem DGV auch völlig hirnrissig ist, wenn du das alles schonmal in einer Exceldatei
    stehen hast.
    Das einzige was Sinn machen würde ist, wenn du die Daten auch ändern willst mit dem DGV.
    Ansonsten kannst du die Exceldatei auch einfach wieder in den Vordergrund schmeißen.

    EDIT:

    Ah ok. Dann mach das wie vorher angedacht, aber lass das DGV einfach weg.
    Wenn die Sachen nicht bearbeitet werden sollen im nachhinein ist ein DGV nicht nötig.
    Ja das stimmt schon.
    Ich will ja nur die ganze Datenbank anzeigen. Mehr will ich gar nicht. Man sollte da auch nichts verändern können oder so. Dafür habe ich schon ne andere Funktion geschrieben. Ich dachte nur das man mit einem DGV schöner und einfacher die ganze Datenbank ausgeben könnte.
    Erkläre ich das so undeutlich? :D
    ..also kann gut sein,wenn ja hier bissl ausführlicher :P



    Oben rechts wird ne Excel Tabelle ausgewählt. Oben inner Listview werden dann die importierten Daten angezeigt. Dann wird unten der Importieren Button Enabled und dann sollen die Listviewdaten per Klick auffm Button in die Datenbank eingetragen werden. Dannach soll unten die Datenbankliste "Refreshed" werden. Unten inner Listview sind paar daten ausser DB die aber unschön angezeigt werden. Und das will ich aber schöner haben :)
    1.
    Hat die Datenbank nur ein Feld?!
    Also wird da nur dieser alphanumerische Ausdruck drin gespeichert?

    2.
    Was ist denn wenn du zu importierenden Daten falsch sind?
    Muss man dann zurück in die Excel Datei und dort alles ändern oder wie?

    3.
    Was passiert mit der Excel-Datei nach dem Importieren ?
    1. Ne die Datenbankhat mehrere Felder. Im Screen sind nur zwei reader.getstring hinterinandergereit angezeigt.
    2. Ja wir/ich werden Excel vorlagen erstellen wonach die Daten immer in der gleiche spalte sein werden,damit der import funktioniert.
    3. Nachem Importieren? Bleibt auffer Platte und wird wahrs. dannach nicht mehr angerührt.
    ad 2.
    Ich meinte das etwas anders.
    Das Importieren wird ja erst nach einer Prüfung durchgeführt.
    Was wird denn geprüft?
    Und was muss ist die Konsequenz, wenn die Prüfung fehlschlägt und etwas falsch ist?
    Müssen dann die Daten in der Excel-Datei geändert werden?
    Oder dient die Prüfung nur zur Sicherheit ob man die richtige Datei angeklickt hat?
    Ahso du meinst,wieso der user sich das noch mal anschauen soll und wieso es nicht einfach direkt importiert wird?
    Da wird ja die Excel dateien erstellen, aber auch öfters schon erstellt bekommen, checken wir die ja vorerst. Dannach wenn wir die dann importieren wollen, prüfen wir ob die excellisteoben genau die gleichen spalten reihenfolge hat wie die datenbanklisteunten. Ist der User der meinung das sie identisch sind, dann soll er auf importieren klicken. Sollte dann doch nen fehler utnerlaufen sein, werden ja falsche daten,die eig. da nicht reingehören, in die datenbank eingetragen. Sprich Spalten dreher. Das wäre nicht gut.

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