Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.27 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7.  
  8. Namensraum GoldenDB
  9. {
  10.     Klasse Datenbank
  11.     {
  12.         öffentlicher Zeichenkettenpfad;
  13.  
  14.         öffentliche Datenbank (String-Name)
  15.         {
  16.             path = main.path + "\\ database \\" + name + "\\";
  17.         }
  18.  
  19.         öffentlicher Bool existiert ()
  20.         {
  21.             if (Directory.Exists (Pfad))
  22.             {
  23.                 return true;
  24.             }
  25.  
  26.             falsch zurückgeben;
  27.         }
  28.  
  29.         public void create ()
  30.         {
  31.             Directory.CreateDirectory (Pfad + "Tabellen \\");
  32.             Directory.CreateDirectory (Pfad + "Einstellungen \\");
  33.         }
  34.  
  35.         // <summary>
  36.         // Datenbank löschen.
  37.         // </ summary>
  38.         // <gibt> zurück
  39.         // 0 - Es ist kein Fehler aufgetreten.
  40.         // 1 - Zu viele verschachtelte Ordner.
  41.         // </ gibt> zurück
  42.         public int delete ()
  43.         {
  44.             string [] ar = Directory.GetDirectories (Pfad) .ToArray <string> ();
  45.             für (int i = 0; i <ar.Length; i ++)
  46.             {
  47.                 string [] innerAr = Directory.GetDirectories (ar [i]);
  48.                 if (innerAr.Length> 0)
  49.                 {
  50.                     für (int a = 0; a <innerAr.Length; a ++)
  51.                     {
  52.                         string [] innerAr2 = Directory.GetDirectories (innerAr [a]);
  53.                         if (innerAr2.Length> 0)
  54.                         {
  55.                             für (int b = 0; b <innerAr2.Length; b ++)
  56.                             {
  57.                                 string [] innerAr3 = Directory.GetDirectories (innerAr2 [b]);
  58.                                 if (innerAr3.Length> 0)
  59.                                 {
  60.                                     return 1;
  61.                                 }
  62.  
  63.                             }
  64.                         }
  65.  
  66.                         für (int b = 0; b <innerAr2.Length; b ++)
  67.                         {
  68.                             Directory.Delete (innerAr2 [b]);
  69.                         }
  70.  
  71.                     }
  72.                 }
  73.                 für (int b = 0; b <innerAr.Length; b ++)
  74.                 {
  75.                     Directory.Delete (innerAr [b]);
  76.                 }
  77.  
  78.                 Directory.Delete (ar [i]);
  79.             }
  80.             System.Threading.Thread.Sleep (100);
  81.             Directory.Delete (Pfad);
  82.             return 0;
  83.         }
  84.  
  85.         // <summary>
  86.         // Erstellt eine Tabelle.
  87.         // </ summary>
  88.         // <gibt> zurück
  89.         // 0 - Es ist kein Fehler aufgetreten.
  90.         // 1 - Tabelle bereits vorhanden.
  91.         // </ gibt> zurück
  92.         public int createTable (Zeichenfolgenname, Zeichenfolgenspalten [])
  93.         {
  94.             if (hasTable (name))
  95.             {
  96.                 return 1;
  97.             }
  98.  
  99.             Directory.CreateDirectory (Pfad + "Tabellen \\" + Name);
  100.             Directory.CreateDirectory (Pfad + "Tabellen \\" + Name + "\\ Einstellungen");
  101.             FileStream str = File.Create (Pfad + "Tabellen \\" + Name + "\\ Einstellungen \\ Spalten.conf");
  102.             str.Close ();
  103.             File.WriteAllLines (Pfad + "Tabellen \\" + Name + "\\ Einstellungen \\ Spalten.conf", Spalten);
  104.             return 0;
  105.         }
  106.  
  107.         // <summary>
  108.         // Aktualisiert Tabellenspalten. Dies verfälscht alle Einträge, seien Sie also vorsichtig!
  109.         // </ summary>
  110.         // <gibt> zurück
  111.         // 0 - Es ist kein Fehler aufgetreten.
  112.         // 1 - Tabelle nicht vorhanden.
  113.         // </ gibt> zurück
  114.         public int updateTable (Zeichenfolgenname, Zeichenfolgenspalten [])
  115.         {
  116.             if (hasTable (name))
  117.             {
  118.                 File.WriteAllLines (Pfad + "Tabellen \\" + Name + "\\ Einstellungen \\ Spalten.conf", Spalten);
  119.                 return 0;
  120.             }
  121.             sonst
  122.             {
  123.                 return 1;
  124.             }
  125.         }
  126.  
  127.         // <summary>
  128.         // Fügt einen Eintrag zu einer Tabelle hinzu.
  129.         // </ summary>
  130.         // <gibt> zurück
  131.         // 0 - Es ist kein Fehler aufgetreten.
  132.         // 1 - Nicht genügend Werte angeben.
  133.         // 2 - Eintrag mit dieser ID existiert bereits.
  134.         // </ gibt> zurück
  135.         public int addEntry (Zeichenfolge tableName, int id, Zeichenfolge [] columnValues)
  136.         {
  137.             string [] columns = File.ReadAllLines (Pfad + "tables \\" + tableName + "\\ settings \\ columns.conf");
  138.             if (hasEntry (tableName, id)) {
  139.                 return 2;
  140.             }
  141.  
  142.             if (columns.Length.Equals (columnValues.Length))
  143.             {
  144.                 FileStream str = File.Create (Pfad + "tables \\" + tableName + "\\" + id + ".entry");
  145.                 return 0;
  146.             }
  147.             sonst
  148.             {
  149.                 return 1;
  150.             }
  151.         }
  152.  
  153.         public bool hasEntry (Zeichenfolge tableName, int id)
  154.         {
  155.             if (File.Exists (Pfad + "tables \\" + tableName + "\\ settings \\" + id + ".entry")) {
  156.                 return true;
  157.             }
  158.             sonst
  159.             {
  160.                 falsch zurückgeben;
  161.             }
  162.         }
  163.  
  164.         public bool hasTable (Stringname)
  165.         {
  166.             if (Directory.Exists (Pfad + "Tabellen \\" + Name + "\\"))
  167.             {
  168.                 return true;
  169.             }
  170.  
  171.             falsch zurückgeben;
  172.         }
  173.     }
  174. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement