none
SQL-DB in einer Klasse

    Frage

  • Guten Abend,

    nach langem habe ich mal wieder eine Frage.

    Ich möchte eine Klasse erstellen, welche auch in anderen Projekten später benötigt wird, klar.

    Jetzt möchte ich eine Klasse erstellen, welche auch mit einer SQL-Datenbank kommuniziert. Zum Beispiel SQL-Express.

    Ich hab jetzt irgendwie Schwierigkeiten mein Problem zu beschreiben. Ich versuche es mal so:

    Ich habe ZWEI unterschiedliche Programme. Beide völlig unterschiedliche Programme haben aber eines gemeinsam, sie sollen ein Lager verwalten. Programm A verwaltet ein Lager mit Lego-Bausteinen, und Programm B mit Playmobil-Bausteinen. Somit haben beide Programme ihre EIGENEN Datenbanken mit noch ganz anderen Tabelle, gesp. Prozeduren usw.

    Jetzt möchte ich eine Klasse entwickeln, die ich dann in jedes Programm (also A und B) einbinden kann. Mein Problem ist, das meine Klasse aber die eigentliche (spätere) Datenbank nicht kennt. Somit kann ich auch z.B. nicht den EntityModelCodeGenerator verwenden, da ich keine bestehende Verbindung zur (späteren) Datenbank habe.

    Auch weiß ich nicht, wie vor der ersten Verwendung der Klasse in Programm A und B die Tabellen anlege, bzw. aktualisiere nach Änderung (bzw. Erweiterung) der Klasse. Da gibt es ganz sicher Hilfsmittel aber ich weiß nicht wirklich wie und wonach ich suchen kann/soll.

    Ich habe so ein bisschen Schwierigkeiten das zu beschreiben, ich hoffe einer von euch hat Ansatzweise meine Anfrage verstanden. Wenn ja: Wie würdet ihr vorgehen?

    Gruß
    Andy

    Dienstag, 12. Juni 2018 18:19

Alle Antworten

  • Hallo Andy,

    Hast Du einen typisierten DataSet erstellt und den DataSet-Designer bemüht oder öffnest und schließt im Codebehind die SqlConnection und erstellst dabei Instanzen der Klassen SQLCommand, SQLDataAdapter und DataSet? Für letzteren Fall kann die Verbindungszeichenfolge als string in den Projektressourcen gespeichert werden und die entsprechende Eigenschaft Deiner Klasse festgelegt werden.

    Verwendest Du Entity Framework?

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Mittwoch, 13. Juni 2018 18:14
    Moderator
  • Hallo Andy,

    Hast Du einen typisierten DataSet erstellt und den DataSet-Designer bemüht oder öffnest und schließt im Codebehind die SqlConnection und erstellst dabei Instanzen der Klassen SQLCommand, SQLDataAdapter und DataSet? Für letzteren Fall kann die Verbindungszeichenfolge als string in den Projektressourcen gespeichert werden und die entsprechende Eigenschaft Deiner Klasse festgelegt werden.

    Verwendest Du Entity Framework?

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.


    Hallo Dimitar,

    ich habe bisher noch nichts dergleichen erstellt, also bzgl. meiner Frage. Ich habe sonst immer den Designer bemüht. Auch in einer Klassenbibliothek für EIN bestimmtes Programm. Aber ich möchte jetzt eine Klassenbibliothek erstellen, welche ich in verschiedenen (zukünftigen) Programmen erstellen möchte. Wenn ich jetzt aber den Designer verwende, dann gilt ja alles, was ich damit erstelle für eine bestimmte (vorhandene) Datenbank, oder?

    Was ich jetzt machen möchte ist, eine Klassenbibliothek erstellen, die später in einer Datenbank die dazugehörigen Tabellen erstellt und verwaltet. Ich habe mich (leider?) zu sehr an den Designer gewöhnt, der ja, so glaube ich, ausschließlich mit einer bestehenden Datenbank funktioniert. Aber wie kann ich jetzt eine solche Klassenbibliothek schreiben, die keinen Bezug zur späteren Datenbank hat, sondern später erst die Tabellen in einer anderen bestehenden Datenbank erstellt?

    Verbindungsdaten in der Projektressource mag ich z.B. gar nicht, da Passwörter nur im Klartext gespeichert werden, glaub ich.

    Gruß
    Andy

    Samstag, 16. Juni 2018 18:21