Grundsatzfrage Datenbank in vb.net einbinden und aktualisieren

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Silentwolf.

    Grundsatzfrage Datenbank in vb.net einbinden und aktualisieren

    Hallo liebes Forum,
    ich bin neu hier dehalb muss ich mich erst ein bisschen zurecht finden hoffe Ihr seid nicht all zu kritisch wenn ich Fragen stelle die vielleicht hier schon beantwortet wurden.

    Meine bisherigen Programmierkenntnisse habe ich auf VBA erreicht aber nun entlich den Umstieg auf VB.Net gewagt.

    Nun ich komme schon relativ gut zurecht aber habe leider finde ich keine wirklich gute Anleitung oder Erklärung wie Datenbanken in VB.Net und Visual Studio hinterlegt bzw. gespeichert werden.

    Zu meiner Frage.
    Ich habe eine kleine Access Datenbank erstellt und diese in das VB.Net Project eingebunden dazu habe ich die Datenbank in einen Ordner und eine Kopie davon in mein VB.Net Project kopiert.
    Tabellen die dort hinterlegt wurden werden erfolgreich angezeigt.

    In den Eigenschaften der Datenbank habe ich "Copy if newer" eingestellt.

    Im Projekt habe ich eine kleine Klasse die Queries und Fehlerbehandlungen ausführen kann. Dazu habe ich mich an folgende Anleitung gehalten oder orientiert youtube.com/watch?v=q19OXha1jD…MquUcdVlDLrf8SQfdHQ6z3Cmm

    Wenn ich nun eine neue Tabelle erstellen möchte mit den SQL Statement CREATE TABLE Persons(PersonID int,LastName varchar(255),FirstName varchar(255),Address varchar(255),City varchar(255) );
    Läuft das Programm ohne Exeptions durch.

    Nun mit meinen Einstellungen und nach aktualisierung der Datenbank befindet sich die Tabelle aber nicht in der Datenbank.

    Wo wird denn das nun gespeichert? Stimmt die Eigenschaft nicht mit dem "Copy if newer?

    *Nachtrag
    Im debug Folder wird die Tabelle richtig eingefügt wenn ich aber die Datenban aus dem Projekt Ordner lösche funktioniert die Abfrage nicht mehr da die Datenbank nicht gefunden wird.

    Leider verstehe ich diesen Zusammenhang nicht wirklich.. wo muss denn diese Datenbank liegen damit sie aktualisiert wird und eben nicht meckert das sie nicht gefunden wurde..
    Danke )

    Hoffe ihr könnt mir einen Tipp geben würde mich freuen!

    Schöne Grüße
    SW

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

    Silentwolf schrieb:

    Dazu habe ich mich an folgende Anleitung gehalten oder orientiert youtube.com/watch?v=q19OXha1jD…MquUcdVlDLrf8SQfdHQ6z3Cmm
    Du lieber Himmel! - wie lange biste da vor der Glotze gesessen?
    Ist denn wenigstens ein lauffähiges Anwendungsbeispiel dabei?

    Anderes Thema:

    Silentwolf schrieb:

    Wenn ich nun eine neue Tabelle erstellen möchte mit den SQL Statement CREATE TABLE Persons(PersonID int,LastName varchar(255),FirstName varchar(255),Address varchar(255),City varchar(255) );
    Läuft das Programm ohne Exeptions durch.
    Das ist ein abwegiges Ansinnen.
    Ein AnwenderProgramm sollte so gut wie nie Db-Tabellen erstellen.
    Datenbank-Design (wie zB Tabellen erstellen) ist Aufgabe des Entwicklers - nicht des Anwenders.
    Eine Datenverarbeitung nutzt die gegebene Datenbank - es bastelt sie nicht um.

    Silentwolf schrieb:

    ... finde ich keine wirklich gute Anleitung oder Erklärung wie Datenbanken in VB.Net und Visual Studio hinterlegt bzw. gespeichert werden.
    Hier habe ich ein Instrumentarium vor, mit dem man Datenbanken leidlich gut bespielen kann.
    Also um eine Abfrage auszuführen, und die Ergebnisse anzuzeigen braucht man eine Zeile Code.
    Und um sämtliche zwischenzeitlich gemachten Änderungen zurück zur Db zu schicken eine zweite.
    Weil ist meine Ansicht, dass Db-Zugriffe mehr Aufwand nicht verursachen dürfen.

    Das Problem ist das Instrumentarium - um das zu verstehen, oder auch nur sinnvoll einbauen zu können, musste vb.net wirklich einigermassen beherrschen.

    Jedenfalls beim Tut ist u.a. ein lauffähiges Anwendungsbeispiel dabei, was auf Access aufbaut.
    Hallo,
    Danke für die Antwort.
    Du lieber Himmel! - wie lange biste da vor der Glotze gesessen?
    Ist denn wenigstens ein lauffähiges Anwendungsbeispiel dabei?

    Ja da ist ein lauffähiges Programm enthalten ...

    Ein AnwenderProgramm sollte so gut wie nie Db-Tabellen erstellen.

    Datenbank-Design (wie zB Tabellen erstellen) ist Aufgabe des Entwicklers - nicht des Anwenders.

    Ja das ist mir schon bewusst nur ich bin der "Entwickler und Anwender " sozusagen...
    Es sollte ja eine Grundsätzliche Frage gewesen sein nich wirklich auf Create Table bezogen oder nicht nur.

    Wo muss denn diese Datenbank im Projekt hinterlegt werden damit sie eben Aktualisiert werden kann und diese auch im Projekt aktualisiert?

    Mir ist schon bewusst das die Datenbank Struktur und die Datenbank ausserhalb der Anwendung erledigt werden muss. Es geht mir aber schon um die Möglichkeit Daten aktualisieren Abfragen und gegebenfalls erstellt werden können.

    Zurzeit ist einen Datenbank im Projekt Folder und eine im bin folder wenn ich Abfragen erstelle bzw. ausführe werden aber nur diese im bin Folder aktualisiert und nicht im Projekt angezeigt.

    Hoffe das ist ein bisschen verständlicher was ich brauche oder suche?

    Wie gesagt bin halt auf VB.net noch unerfahren ...Access Datenbanken erstellen ist kein Problem.. habe wie gesagt bis jetzt halt nur oder ausschließlich in Access gearbeitet und halt das gesammte dort erledigt.

    Danke ...

    Silentwolf schrieb:

    Zurzeit ist einen Datenbank im Projekt Folder und eine im bin folder wenn ich Abfragen erstelle bzw. ausführe werden aber nur diese im bin Folder aktualisiert und nicht im Projekt angezeigt.
    Jo, das ist eiglich i.O. so - muss man sich halt dran gewöhnen.

    Wenn mans weiss, und nicht durcheinanderkommt mit den zwei Datenbanken ist das doch ganz nützlich: Während des Programmierens kannste die DB in \bin\debug\ ruhig "kaputtspielen" - hast ja immer eine Backup-DB.
    Und wenn du die DB tatsächlich umstrukturiern willst, dann entweder im \bin\, und das getestete Ergebnis in den Projektordner kopieren, oder du traust dich gleich, die Db im Projektordner zu modifiziern - wg "copy if newer" landet die dann ja auch da, wo sie verwendet wird.



    Ich würd dir empfehlen Git zu installieren und zu erlernen.
    Die Möglichkeit, jederzeit Backups zu machen hat schon viele Leben gerettet.
    Oder du nimmst SolutionExplorer - OpenSource
    Das ist einfacher, aber die Zips, die entstehen werden mit eingebundener DB immer ziemlich fett - da musste dann öfter aufräumen.



    nochma zu meim Instrumentarium: Das unterstützt kein Abrufen von SPs, also für solche Extras müssteste dir zusätzlich was bauen.
    Ich bin nicht Freund von SPs, weil wenn sie Daten erbringen kann man diese nicht mit demselben Mechanismus geändert zurückschicken, sondern muss sich für jeden Fall eine ExtraWurst bauen.

    Mein Ansatz ist Wysiwyg- und objekt-orientiert.
    Also ich lade Daten in VB-Objekte, präsentiere und verändere sie, schicke sie zurück.
    Also meine Daten werden in der Anwendung verarbeitet - nicht in der Datenbank.
    Sql kommt da nur ganz marginal vor oder auch garnet - allenfalls Where-Klauseln sind zu formulieren, um nur einen Teilbereich der Tabellen zu laden.

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

    Wenn mans weiss, und nicht durcheinanderkommt mit den zwei Datenbanken ist das doch ganz nützlich:

    Na ja da komm ich schon ein wenig durcheinander denn das kenn ich ja so nicht das man zwei Datenbanken hat...
    Und wenn du die DB tatsächlich umstrukturiern willst, dann entweder im \bin\, und das getestete Ergebnis in den Projektordner kopieren, oder du traust dich gleich, die Db im Projektordner zu modifiziern - wg "copy if newer" landet die dann ja auch da, wo sie verwendet wird.

    Dann würde man also keine Datenbank im bin benötigen?

    Es wird immer im Projekt die Datenbank verwendet die im Projekt Ordner liegt?

    Tut mir leid wenn ich mich noch ein wenig hilflos anstelle ist halt alles ziehmlich neu für mich.
    Nochma:
    Die DB im Projekt-Ordner ist ein Backup.
    Wird nach \bin\debug\ kopiert, wenn da keine ist, bzw. wenn die im Projekt-Ordner neuer ist als die DB in \bin\debug\.
    Die DB in \bin\debug\ - darauf orgelt deine Anwendung, ändert Daten etc, wenn du einen Testlauf machst.
    Daher ist sie im Tagesgeschäft immer die neuere, und wird auch nicht vom Backup überschrieben.