Einstieg in SQL Datenbank und Access MDB mit VB

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Schrauber.

    Einstieg in SQL Datenbank und Access MDB mit VB

    Hallo zusammen,
    ich heiße Klaus und bin neu hier. Auch VB.NET ist für mich noch recht neu.

    Jetzt habe ich ein Thema bei dem ich den Einstieg nicht finde.

    Für ein kleines Programm brauche ich Daten aus Tabellen eines SQL Servers und von einer Access MDB.
    Ich habe den Key und brauche dazu den passenden Datensatz aus den Tabellen. Kein Update oder anderes ist nötig.

    Ich habe es zu erst mit dem Buch "Einstieg in Visual Basic 2017 von Thies" versucht ... hier stolpere ich aber schon bei der Option Strict On und dem String gefrickel.
    Hier im Forum finde ich nur recht komplexe Sachen, vermutlich suche ich falsch :(

    Hätte jemand eine Buchempfehlung für mich ?

    Vielen Dank
    Klaus
    Hallo und Willkommen

    Ich denke du hast hier schon ein Buch mit dem du lernen kannst. Du muss es nur wirklich von Anfang an lesen und versuchen zu verstehen. Mach die Beispiele nach und versuche den Code Schritt für Schritt zu verstehen.
    Du wirst sehen, dann hast du auch keine PRobleme mehr mit Option Strict On.
    In den ersten Kapiteln werden sicher die Datentypen alle durchgenommen und mit Hilfe der Intellisense von Visual Studio (die ist sehr, sehr Hilfreich) kommst du dann an dein Ziel.

    Es gibt ja auch kostenlose Bücher von z.b. OpenGallileo aber du hast ja schon eines. Ansonsten: Entwickler-Ressourcen und Tools, Bücher und WebCasts

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Hallo Sascha,

    vielen Dank für die schnelle Antwort.

    naja der Anfang ist schwer, aber ich bemühe mich.

    OpenGallileo werde ich mir ansehen, Danke. Bei den Entwickler Ressourcen hatte ich schon geschaut und Visual Basic 2010 von Klaus Löffelmann gefunden :)

    ich komme auch voran, im Prinzip suche ich so etwas wie unten aber für SQL Server Zugriff...

    VB.NET-Quellcode

    1. Private Function DBAccess(key As String) As String
    2. Dim con As New OleDbConnection
    3. Dim cmd As New OleDbCommand
    4. Dim reader As OleDbDataReader
    5. con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\test\qdb.mdb"
    6. cmd.Connection = con
    7. cmd.CommandText = "SELECT * FROM Teil WHERE TETEIL = " & key
    8. Try
    9. con.Open()
    10. reader = cmd.ExecuteReader()
    11. reader.Read()
    12. Return reader.GetString(1)
    13. reader.Close()
    14. con.Close()
    15. Catch ex As Exception
    16. MessageBox.Show(ex.Message)
    17. End Try
    18. End Function


    Grüße
    Klaus

    Schrauber schrieb:

    Ich habe es zu erst mit dem Buch "Einstieg in Visual Basic 2017 von Thies" versucht ...

    Ich habe mit der C# Variante damals 1 Jahr benötigt um das Buch durch zu arbeiten. Danach hatte ich aber die Grundlagen drauf. Programmieren lernen dauert halt. Mit DB’s habe ich erst nach ca. 1 Jahr angefangen.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Warum muss es gleich eine DB-Anwendung sein?
    Da kann man endlos Dinge verkehrt anfangen, und was man erst ungeschickt anfängt (wie der von dir gezeigte Code), setzt man meist auch ungeschickt fort.

    Es gibt wesentlich einfachere und sicherere Ansätze, Daten zu speichern und zu laden.

    Übrigens der Author heisst "Theiss", und seine VB.net-Bücher sind grauenhaft.

    Auch setzt eine Datenverarbeitung (ob nun mit oder ohne DB) ein solides Grundlagenwissen vorraus.

    Ich empfehle für den Wissensaufbau immer diesen "Plan": Datenverarbeitungs-Vorraussetzungen

    Guck das mal durch, neben Buchempfehlungen sind das auch viele Tuts zu Themen, die so in Büchern kaum zu finden sind, welchs KnowHow aber bitter nötig ist.

    Aber nochmal, weil es war keinesfalls rethorisch gemeint: Warum muss es gleich eine DB-Anwendung sein?
    Hallo zusammen,
    vielen Dank für die Antworten.

    @mrMo ich denke 1 Jahr wird mir nicht reichen, aber ich bleibe dran. Übrigens wollte ich eigentlich eine Angel damit ich selber Fischen lernen kann.

    @Erfinder des Rades, an den Datenverarbeitungs Vorraussetungen bin ich bereits dran. Beim erste mal durcharbeiten hab ich aber bei weitem noch nicht alles verstanden, werde das noch ein paar mal wiederholen müssen ...
    Das Buch ist wirklich grauenhaft, übrigens stammen rund 95% von meinem Beispiel oben aus dem Buch, nur war dort noch eine Do While Schleife. Das reader.GetString(1) *was auch ungeschickt ist" stammt von mir ... Im Buch wird reader("Name") & " # " & reader("vorname") .... etc. verwendet ..... das geht nicht mal mit Strict On :| .

    Warum es gleich eine DB Anwendung sein muss beantworte ich gerne:

    In keiner weise würde ich mich trauen mit meinem jetzigen Wissensstand eine DB Anwendung zu schreiben !

    Ich schreibe gerade ein kleines Tool, mehr nicht. Ich erhalte im 5 Minuten Takt von einer Maschine Daten in einer Textdatei, diese Daten sollen von einer gekauften Software automatisch importiert werden. Leider fehlen bei den von der Maschine übergebenen Daten einige Informationen die ich der Textdatei hinzufügen muss damit der Import klappt. Die fehlenden Daten kann ich der Maschine nicht bei bringen, aber ich kann ihr einen eindeutigen Schlüssel auf 2 SQL Server Tabellen und eine Access DB Tabelle in der Textdatei mit geben. Meine Aufgabe ist es aus den entsprechenden Datensätzen die nötigen Daten zu holen und mit in die Textdatei zu schreiben.

    Das ganze geht sicher auch ohne DB Anwendung, aber die Daten sind bereits in der DB vorhanden und werden dort gepflegt. Ohne DB Abfrage bedeutet das doppelte Datenhaltung und doppelte Datenpflege.

    Die Bücherempfehlung habe ich gesehen, das neueste ist wohl von 2010 ... an dem Arbeite ich gerade. Aber ich vermute mal die letzten 8 Jahre hat sich auch ein bischen was beim DB Zugriff geändert ( oder verbessert ). darum habe ich hier gefragt bzw. Einstieg in Visual Basic 2017 gekauft .

    Viele Grüße
    Klaus

    @MrTrebron :) so ist es in diesem Fall
    ja, also was du mal probieren kannst ist, das Datenquellfenster zu suchen und da eine Datenquelle hinzufügen.
    Da geht ein Assistent auf, wo du die Datenbank und Tabellen aussuchen kannst.
    Das generiert dir ein typisiertes Dataset sowie typisierte DataAdapter, damit kann man schon typsicher arbeiten, und hat nicht diese endlosen "String-Smells" am Hals.
    Leider weiss ich kein Video dazu - MS hat die "Beth Massi - Series" iwie umgeschichtet für ihren Daten-Kraken - da muss man sich wohl iwo anmelden.

    Ist das erst gelungen kannste aus den Datenquellen Tabellen aufs Form ziehen und bekommst sofort die Grundstruktur einer Gui hingeneriert - grauenhaft zwar, aber lauffähig.

    Man kann sich auf gleiche Weise auch einen EntityFramework-Container anlegen und mit arbeiten, aber probier lieber beides, und - wenns klappt - entscheide was dir lieber ist.

    So, ich hab mal ein Uralt-Tut bei ActiveVb geuppt - zu finden als "Datenbank in 10 Minuten" auf activevb.de/cgi-bin/upload/upload.pl
    Da musste dich aber auch anmelden, um den Up/Download-Bereich nutzen zu können (aber das sind keine DatenKraken).

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

    @ErfinderDesRades
    Vielen Dank für deine Mühe und die gestellten Hausaufgaben.
    Die Lösung mit dem typisierten Dataset und typisierten DataAdapter hatte ich schon vor meinem ersten Post mit der Access DB kurz versucht. Zumindest mit der GUI geht das auch auf anhieb. Über die weitere Nutzung der generierten Codes für meine (eindeutige) DB Abfrage habe ich aber aufgrund meines bescheidenen Wissenstands bei der Fülle an generiertem Code den überblick etwas verloren. Ich werde mir hierzu nochmal die Tut's hier im Forum dazu durcharbeiten müssen.

    EntityFramework werde ich noch versuchen, danke für den Ansatz.

    Herzlichen Dank für das geuppte "Datenbank in 10 Minuten" das hat mir die Verwendung der typisierten Dataset wesentlich klarer gemacht :) .

    Eigentlich ist mein kleines Tool gedanklich für mich keine richtige DB Anwendung, ich brauche nicht mal eine GUI. Textdatei lesen, Inhalte aus 3 Datensätzen der DB's dazu fügen, Textdatei schreiben, fertig. OK noch ein bisschen Fehlerbehandlung .... Datensätze nicht gefunden ... keine Textdatei scheiben etc. Ich stelle mir die Frage ob dafür das integrieren von tausenden Zeilen generiertem Code wirklich Sinn macht, zumal ich davon sicherlich 99% weder verstehe noch brauche. Ich sehe schon, ich muss mir zuerst die Unterschiede und vor allem die Verwendung typisierter und nicht typisierter Dataset und DataAdapter im Code genauer ansehen.

    Danke schön, ich hoffe ich habe meine "Angel" nun gefunden und kann anfangen selber Fische zu fangen.

    Grüße
    Klaus