Autor Beitrag
Christoph1972
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Fr 05.12.08 20:25 
Hallo zusammen,

kann man in einer Datenbank Tabellen kopieren?
Ich habe mir das etwa so vorgestellt, ich lege eine Vorlage in der DB ab und der User kann dann zur Laufzeit diese kopieren. Ist so etwas möglich? Oder geht man einen anderen Weg, wenn die Anzahl der Tabellen dynamisch sein soll?


Gruß & ein schönes Wochenende!

Christoph


Zuletzt bearbeitet von Christoph1972 am Sa 06.12.08 01:35, insgesamt 1-mal bearbeitet
Christoph1972 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Fr 05.12.08 23:37 
OK, dann tu ich mal selber Butter bei die Fische :D


Tabelle kopieren == Banane;

ich glaube so ist das doch viel schöner :

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
SqlCommand Cmd = null;
SqlConnection Conn = null;
try
   {
    Conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=" + (@"C:\Dokumente und Einstellungen\Keiner\Eigene Dateien\DynamischeTabellenAnzahl.mdf" + ";Integrated Security=True;Connect Timeout=30;User Instance=True"));
    Conn.Open();

    Cmd = new SqlCommand("CREATE TABLE Stoffliste (Stoff char(50),Info char(25))", Conn);
    Cmd.ExecuteNonQuery();

   }
   catch (SqlException Error)
   {
    MessageBox.Show("Verbindungs-Fehler: " + Error.Message);
    Conn.Close();
   }



Oder?

Gruß
Christoph
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Sa 06.12.08 12:15 
Hallo Christoph,

naja, möglich ist es so, aber das entspricht eher nicht einem vernünftigen Datenbank-Konzept.

Zum einen fehlt alles, was ein relationales DBMS ausmacht, insbesondere der PrimaryKey. Doubletten sind grundsätzlich nicht schön. Außerdem unterliegt die DB-Struktur grundsätzlich dem Manager (= Programmentwickler) und nicht dem Anwender.

Wenn in der Praxis überhaupt so etwas sinnvoll sein soll, dann darfst Du eine spezielle Tabelle für benutzerabhängige Inhalte vorbereiten. Wenn Du schon "eine Vorlage in der DB" ablegen willst, dann erweitere diese so, dass sie dynamisch benutzt werden kann. Beispiel: Ein Feld enthält eine ID (es gibt viele Programmierer, die dafür GUID empfehlen); Feld weist auf die laufende Nummer hin; auf dieses Feld muss natürlich ein Index gelegt werden; eine andere Tabelle verknüpft die laufende Nummer mit einem Benutzer (soweit das gewünscht wird); Abfragen werden mit WHERE immer auf den Benutzer bezogen.

Jürgen
Christoph1972 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Sa 06.12.08 14:11 
Hi,

vielen Dank für die Antwort! Ich werde wohl doch mit einer Tabelle arbeiten und den einzelnen Datensätzen einen Schlüssel zuweisen und dann filtern.

Gruß
Christoph