SQL Strings auslagern

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Manü.

    SQL Strings auslagern

    Hallo ihrs,

    ich werde in meinem Programm an verschiedenen Stellen SQL-Abfragen benötigen. Nun möchte ich die dafür nötigen SQL-Strings (SELECT, UPDATE, INSERT usw) am Liebsten "irgendwo" zentral vorhalten, um den Programmcode leserlich zu halten. Nur wie mache ich sowas am Geschicktesten?

    Derzeit habe ich eine Klasse mit 3 Funktionen, die 1. die DB-Verbindung öffnen, 2. Querys an die DB stellen und 3. die DB-Verbindung wieder schließen.
    Die SQL-Querys stehen direkt im Code der Form, was ich nicht schön finde.

    Habt ihr darin Erfahrung?

    VG
    hotte
    ahoi,

    also ganz klar ist mir deine frage noch nicht ganz ...

    du willst die querys mit in die klasse auslagern, richtig ?
    dann lass dir eine konstruktion einfallen um die querys aufbauen zu lassen

    zb baust du rdie für die jeweiligen querys (also select, update, insert) je eine function,
    an diese functions übergisbt du die jeweiligen parameter, zb was selektiert werden soll, die tabelle und die filter, dazu noch optional sortierung gruppierung etc.
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    Hallo Manü,

    nicht ganz.

    Ich habe eine Funktion DatabaseQuery(ByVal strMyQuery As String).
    Diese Funktion rufe ich nun z.B. so auf: rueckgabe = DatabaseQuery("SELECT * FROM tabelle")

    Ich möchte quasi das "SELECT * FROM tabelle" anstatt in der Form an eine zentrale Stelle schreiben. An diese Stelle sollen alle Datenbankabfragen liegen. Damit kann ich Änderungen einfacher vornehmen und ich habe nicht überall im Projekt irgendwelche Abfrage-Strings "rumkullern".

    Ich habe mir das so vorgestellt:
    Private Shared sqlstrArray As Array
    Public Shared Function GetSqlString(ByVal StrID As Integer)
    'hier würde das Array nacheinander mit den Strings gefüllt.
    return sqlstrArray(StrID)
    End Function

    Für dieses Beispiel müsste ich genau wissen, an welcher Stelle im Array mein SQL-String steht. Das ist denke ich auch nicht das gelbe vom Ei.
    also ich glaub kaum dass das sehr effektiv ist,

    ich hab mir nochmal überlegt, basierend auf meiner alten antwort ...
    du machst dir wie gesagt eine funktion, was du darin übergiebst sind erstmal, die spalten, und die tabelle
    weiterhin übergibst du where, orderby, groupby .... per bool und die jeweiligen spalten

    dürfte aber dahingehen auch nicht sehr effektiv sein
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de