Guten Tag,
ich schreibe zZ ein Datenbankverwaltungsprogramm, bzw scheitere nun am letztem Knackpunkt.
Es gibt eine Funktion die dem Anwender erlaubt eine neue Tabelle in einer Datenbank anzulegen,
mit einer undefinierten Anzahl von Columns (kann beliebig vom Nutzer ausgewählt werden).
Wenn man nun mit einem INSERT-Befehl Daten hinzufügen möchte, muss es ja wie folgt aussehen:
C#-Quelltext
1: 2: 3: 4:
| public static void insert(string table, string Vorname, string Nachname, string Alter) { sqlconnect.ExecuteQuery("INSERT into " + table + " VALUES ('" + Vorname + "','" + Nachname+ "','" + Alter + "')"); } |
Aber wenn der Nutzer nun z.b. eine Tabelle mit mehr / weniger als 3 Columns erstellt, funktioniert der Code natürlich nicht mehr.
Man könnte natürlich mehrere If-Abfragen machen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| public static void insert(string table, string 1, string 2, string 3, string usertblauswahl) { if (usertblauswahl == 1) { sqlconnect.ExecuteQuery("INSERT into " + table + " VALUES ('" + 1 + "')"); } if (usertblauswahl == 2) { sqlconnect.ExecuteQuery("INSERT into " + table + " VALUES ('" + 1+ "','" + 2+ "')"); } if (usertblauswahl == 3) { sqlconnect.ExecuteQuery("INSERT into " + table + " VALUES ('" + 1 + "','" + 2 + "','" + 3 + "')"); } } |
Gibt es da keine bessere Lösung als +20 SQL-Statements vorzudefinieren?
MfG