Пример #1
0
 public static void Setup(string debug)
 {
     debug += "Tanuló.Setup" + Konzol.dbj;
     foreach (string könyvtárnév in Directory.EnumerateDirectories(root))
     {
         if (könyvtárnév.Split('\\').Last()[0] != '-') // A "-"-szal kezdődő könyvtárnevekről nem vesz tudomást.
         {
             lista.Add(new Tanuló(könyvtárnév));
         }
         Konzol.Write(debug, $"[green]{{{Path2név(könyvtárnév)}}}");
         Konzol.WriteLine("", " tanulókönyvtár észlelve.");
     }
 }
Пример #2
0
            public static void HibákKiírása(string debug)
            {
                debug += "Tanuló.hibajegyzék" + Konzol.dbj;
                string szín;

                foreach (string hiba in hibajegyzék)
                {
                    szín = hiba.Contains("LIKE") ? "yellow" : "red";
                    Konzol.WriteLine(debug, $"[{szín}]{{{hiba}}}");
                }
                if (hibajegyzék.Any(x => x.Contains("LIKE")))
                {
                    Színes.WriteLine("\t[yellow]{Ha vannak indokolatlanul üres táblák, akkor ennek egy valószínű oka az, hogy az OLEDB, amit ez a program használ, nem tudja értelmezni az Access-ben használatos \"LIKE\" parancs \"*\" és \"?\" regex-szerű változójeleit. Ehhez az eredeti fájlokban sajnos egyelőre át kell írni a parancsokat \"ALIKE\" parancsokra és a szokásos mysql és sql-szerver \"%\" és \"_\" karaktereket használni. Így az Access és az OLEDB is lefut és ugyanazt az eredményt produkálja. }");
                }
            }
Пример #3
0
 public static void Setup(string debug)
 {
     debug += "Feladat.Setup" + Konzol.dbj;
     using (StreamReader f = new StreamReader(setupfilename, Encoding.Default))
     {
         while (!f.EndOfStream)
         {
             string sor = f.ReadLine();
             if (sor[0] != '%') // megjegyzés, nem mentjük el
             {
                 setuplist.Add(new NNT(sor));
             }
         }
     }
     Konzol.WriteLine(debug, setupdirpath + @"\" + setupfilename + " beolvasva");
     Console.WriteLine("{0}\\{1}\t -> \t{2}", "adatbázis neve", "lekérdezés neve", "lekérdezés típusa");
     Console.WriteLine("---------------------------");
     foreach (NNT nnt in setuplist)
     {
         Console.WriteLine("{0}\\{1}\t -> \t{2}", nnt.adatbázis, nnt.lekérdezés, nnt.tipus);
     }
 }
Пример #4
0
            private void lekérdezés2txt(string debug, Feladat.NNT nnt)
            {
                debug += "lekérdezés2txt" + Konzol.dbj;
                string szín;

                try
                {
                    con = new OleDbConnection();
                    con.ConnectionString = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={dirpath}\\{nnt.adatbázis}";
                    cmd             = new OleDbCommand();
                    cmd.Connection  = con;
                    cmd.CommandText = "SELECT * FROM " + nnt.lekérdezés;
                    con.Open();
                    reader = cmd.ExecuteReader();
                    string sorstring;
                    int    sorokszáma = reader.FieldCount;
                    Console.WriteLine("+-------------- START --------------");
                    Console.Write("|\t");
                    Konzol.Write("", $"[green]{{{név}}} ");
                    Konzol.Write("", $"[blue]{{{nnt.lekérdezés}}}");
                    Console.WriteLine(" lekérdezése:");
                    Console.WriteLine("+-----------------------------------");
                    using (StreamWriter w = new StreamWriter($"{dirpath}\\output_{nnt.adatbázisnév}_{nnt.lekérdezés}.txt"))
                    {
                        int i = 0;
                        while (reader.Read())
                        {
                            sorstring = "";

                            for (int j = 0; j < sorokszáma; j++)
                            {
                                sorstring += reader[j] + (j < sorokszáma - 1?"\t":"");
                            }
                            Console.Write("| ");
                            Konzol.Write("", $"[blue]{{{++i}}}");
                            Console.WriteLine("\t" + sorstring);
                            w.WriteLine(sorstring);
                        }
                        if (i == 0)
                        {
                            hibajegyzék.Add("Üres? Ha nem, fix: LIKE => ALIKE ? " + név + ": " + nnt.adatbázisnév + "/" + nnt.lekérdezés);
                        }
                    }
                    con.Close();
                    // Console.WriteLine("------------------------------------");
                    // Konzol.Write("", név+" ", ConsoleColor.Green);
                    //  Konzol.Write("", nnt.lekérdezés, ConsoleColor.Blue);
                    // Console.WriteLine(" lekérdezésének vége");
                    Console.WriteLine("+--------------- END ---------------");
                    Console.WriteLine();
                }
                catch (Exception e)
                {
                    string hiba = "HIÁNYZIK? " + név + ": " + nnt.adatbázisnév + "/" + nnt.lekérdezés + " -- " + e.Message; //+" ("+debug+")";
                    hibajegyzék.Add(hiba);
                    szín = hiba.Contains("LIKE") ? "yellow" : "red";
                    Konzol.WriteLine(debug, $"[{szín}]{{{hiba}}}");
//                    Konzol.WriteLine(debug, $"[red]{{{hiba}}}");
                    using (StreamWriter w = new StreamWriter(dirpath + "\\output_" + nnt.adatbázisnév + "_" + nnt.lekérdezés + ".txt"))
                    {
                        w.WriteLine(hiba);
                    }
                    //throw;
                }
            }