//------------------------------------------------------------------------------------------------ private void Button_SucheStarten_Click(object sender, EventArgs e) { TextBox_Suchfeld.Enabled = false; Button_SucheStarten.Enabled = false; DropDown_TypAuswahl.Enabled = false; ListBox_Ausgabe.Items.Clear(); OracleDataReader LeseFunktion; int TrefferInSpalte; StatusBalken.Value = 0; var TypAuswahl = DropDown_TypAuswahl.SelectedItem.ToString(); var SuchText = TextBox_Suchfeld.Text.ToLower(); Task.Factory.StartNew(() => { for (int i = 0; i < Tabellen.Count; i++) { for (int i2 = 0; i2 < Tabellen[i].Spalten.Count; i2++) { if (Tabellen[i].Spalten[i2].DatenTyp.Equals(TypAuswahl)) { StatusBalken.Invoke(new Action(() => StatusBalken.Maximum++)); //StatusBalken.Maximum++; } } } var SQLBefehl = new OracleCommand(string.Empty, Program.Hauptverbindung); for (int i = 0; i < Tabellen.Count; i++) { for (int i2 = 0; i2 < Tabellen[i].Spalten.Count; i2++) { if (Tabellen[i].Spalten[i2].DatenTyp.Equals(TypAuswahl)) { SQLBefehl.CommandText = string.Format("SELECT Count(*) From {0} Where Lower({1}) Like '{2}' ", Tabellen[i].Name, Tabellen[i].Spalten[i2].Name, SuchText); LeseFunktion = SQLBefehl.ExecuteReader(); SQLBefehl.FetchSize = SQLBefehl.RowSize * 10240; SQLBefehl.Prepare(); LeseFunktion.Read(); TrefferInSpalte = LeseFunktion.GetInt32(0); LeseFunktion.Close(); if (TrefferInSpalte > 0) { ListBox_Ausgabe.Invoke(new Action(() => ListBox_Ausgabe.Items.Add(string.Format("Anzahl an Treffer:{0}, Tabelle:{1}, Spalte: {2}", TrefferInSpalte, Tabellen[i].Name, Tabellen[i].Spalten[i2].Name)))); //ListBox_Ausgabe.Items.Add(string.Format("Anzahl an Treffer:{0}, Tabelle:{1}, Spalte: {2}", TrefferInSpalte, Tabellen[i].Name, Tabellen[i].Spalten[i2].Name)); } StatusBalken.Invoke(new Action(() => StatusBalken.Value++)); //StatusBalken.Value++; } } } TextBox_Suchfeld.Invoke(new Action <bool>(s => { TextBox_Suchfeld.Enabled = s; }), true); Button_SucheStarten.Invoke(new Action <bool>(s => { Button_SucheStarten.Enabled = s; }), true); DropDown_TypAuswahl.Invoke(new Action <bool>(s => { DropDown_TypAuswahl.Enabled = s; }), true); //TextBox_Suchfeld.Enabled = true; }); }
//------------------------------------------------------------------------------------------------ private void Button_TypenErfassen_Click(object sender, EventArgs e) { Task.Factory.StartNew(() => { Button_TypenErfassen.Invoke(new Action <bool>(s => { Button_TypenErfassen.Enabled = s; }), false); //Button_TypenErfassen.Enabled = false; var SQLBefehl = new OracleCommand("SELECT count(*) FROM USER_OBJECTS WHERE OBJECT_TYPE = 'TABLE'", Program.Hauptverbindung); SQLBefehl.CommandType = CommandType.Text; var LeseFunktion = SQLBefehl.ExecuteReader(); SQLBefehl.FetchSize = SQLBefehl.RowSize * 1; LeseFunktion.Read(); StatusBalken.Invoke(new Action <int>(s => { StatusBalken.Minimum = s; }), 0); StatusBalken.Invoke(new Action <int>(s => { StatusBalken.Maximum = s; }), LeseFunktion.GetInt32(0)); StatusBalken.Invoke(new Action <int>(s => { StatusBalken.Value = s; }), 0); //StatusBalken.Minimum = 0; //StatusBalken.Maximum = LeseFunktion.GetInt32(0); //StatusBalken.Value = 0; LeseFunktion.Close(); Program.Typen.Clear(); SQLBefehl = new OracleCommand("SELECT OBJECT_NAME FROM USER_OBJECTS WHERE OBJECT_TYPE = 'TABLE'", Program.Hauptverbindung); LeseFunktion = SQLBefehl.ExecuteReader(); SQLBefehl.FetchSize = SQLBefehl.RowSize * 10240; SQLBefehl.Prepare(); while (LeseFunktion.Read()) { Tabellen.Add(new Tabelle(LeseFunktion.GetString(0))); StatusBalken.Invoke(new Action(() => StatusBalken.Value++)); //StatusBalken.Value++; } LeseFunktion.Close(); SQLBefehl.CommandText = "select TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH from user_tab_columns"; LeseFunktion = SQLBefehl.ExecuteReader(); SQLBefehl.FetchSize = SQLBefehl.RowSize * 100 * Tabellen.Count; SQLBefehl.Prepare(); Tabelle GesuchteTabelle; string DatenTyp; while (LeseFunktion.Read()) { GesuchteTabelle = TabelleSuchen(LeseFunktion.GetString(0)); if (!ReferenceEquals(GesuchteTabelle, null)) { DatenTyp = LeseFunktion.GetString(2); GesuchteTabelle.Spalten.Add(new Spalte(LeseFunktion.GetString(1), DatenTyp, LeseFunktion.GetInt32(3))); if (!Program.Typen.Contains(DatenTyp)) { Program.Typen.Add(DatenTyp); } } } LeseFunktion.Close(); StatusBalken.Invoke(new Action <int>(s => { StatusBalken.Value = s; }), 0); DropDown_TypAuswahl.Invoke(new Action(() => DropDown_TypAuswahl.Items.Clear())); DropDown_TypAuswahl.Invoke(new Action(() => DropDown_TypAuswahl.Items.AddRange(Program.Typen.ToArray()))); DropDown_TypAuswahl.Invoke(new Action <bool>(s => { DropDown_TypAuswahl.Enabled = s; }), true); //DropDown_TypAuswahl.Enabled = true; if ((TextBox_Suchfeld.TextLength > 0) && !DropDown_TypAuswahl.SelectedItem.ToString().Equals(string.Empty)) { Button_SucheStarten.Invoke(new Action <bool>(s => { Button_SucheStarten.Enabled = s; }), true); //Button_SucheStarten.Enabled = true; } }); }