private DataTable loadDatabaseDetails() { using (var connection = createConnection()) { return(ConnectionFactoryIts.GetDataSources()); } }
//Inicializa o dataset com as consultas que pertencem ao relatorio private DataSet initDsConsultas() { try { using (var ctx = new ReportContext()) { this.dsConsultasReport = new DataSet("dsReport"); ConnectionFactoryIts conn = new ConnectionFactoryIts(ctx.NameOrConnectionString, 90); foreach (var item in sourceReport) { var myTable = new DataTable(); myTable = conn.ExecuteQueryDataTable(item.Consulta.CorpoQuery); myTable.TableName = "table_" + item.Consulta.CodigoQuery; dsConsultasReport.Tables.Add(myTable); } return(dsConsultasReport); } } catch (Exception ex) { XMessageIts.ExceptionMessage(ex); return(null); } }
private void boundXGridTabDestino() { try { ConnectionFactoryIts conn = new ConnectionFactoryIts(AppConfigManager.Configuration.AppConfig.ConnectionString); DataTable dtTabelas = new DataTable("Tabelas"); dtTabelas = conn.ExecuteQueryDataTable("SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES"); gridControlTabDestino.DataSource = dtTabelas; } catch (SqlException ex) { LoggerUtilIts.ShowExceptionLogs(ex); } }
private void loadDatabase() { try { this.Invoke(new MethodInvoker(delegate() { var dbs = new ConnectionFactoryIts(app.ConnectionString).DataBases; this.cbDatabase.Properties.Items.Clear(); this.cbDatabase.Properties.Items.AddRange(dbs); this.cbDatabase.ShowPopup(); })); } catch (SqlException) { } }
private void indexColumnsCbColDestino(string tableName) { try { var dtColumns = new DataTable("ColumnsDestino"); ConnectionFactoryIts cnn = new ConnectionFactoryIts(AppConfigManager.Configuration.AppConfig.ConnectionString); dtColumns = cnn.ExecuteQueryDataTable(String.Format("SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, NUMERIC_SCALE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = {0}", "\'" + tableName + "\'")); foreach (var col in dtColumns.AsEnumerable()) { var colDest = new ColunaDestino(col[0].ToString(), col[1].ToString(), col[2].ToString(), col[3].ToString(), col[4].ToString()); repComboDestino.Items.Add(colDest); } } catch (SqlException ex) { LoggerUtilIts.ShowExceptionLogs(ex); } }
//private void fillTreeList() //{ // this.Cursor = Cursors.WaitCursor; // // seu processo.... // treeListConnection.ClearNodes(); // treeListConnection.BeginUnboundLoad(); // Console.WriteLine("Loading ...."); // Task taskFill = Task.Run(()=>TaskFillTreeList()); // var r = taskFill; // treeListConnection.ExpandAll(); // treeListConnection.EndUnboundLoad(); // // Entao você volta ao normal... // this.Cursor = Cursors.Default; //} private void TaskFillTreeList() { AppConfigManager.Configuration.Reload(); var connections = AppConfigManager.Configuration.AppConfigList; SetDatabaseDelegate loadApp = new SetDatabaseDelegate(loadConnections); //dispara uma ação segura //new SetDatabaseDelegate(loadConnections).DynamicInvoke(connections); if (this.InvokeRequired) { this.Invoke(loadApp, new object[] { connections }); } //eu quero somentes os servidores que nao se repetem var serverList = from c in connections group c by new { c.ServerName } //or group by new {p.ID, p.Name, p.Whatever} into servers select servers.FirstOrDefault(); treeListConnection.BeginInvoke(new Action(async() => { // Create a root node . TreeListNode parentForRootNodes = null; // Creating more nodes foreach (var server in serverList) { //connection //connection.database //connection.database.tables //.... var node = new NodConnection(server).Node; //coloca o node do nome da conexao TreeListNode rootNode = treeListConnection.AppendNode(node, parentForRootNodes); rootNode.ImageIndex = 0; rootNode.SelectImageIndex = 0; using (var connection = new ConnectionFactoryIts(server.ConnectionString)) { //coloque os banco Task <string[]> taskDatabases = Task.Run(() => connection.DataBases); //DoWorking .... var databases = await taskDatabases; server.DatabaseList.AddRange(databases); foreach (var db in databases) { // Create a child of the rootNode var child = treeListConnection.AppendNode(new object[] { db }, rootNode); child.ImageIndex = 1; child.SelectImageIndex = 1; var childChild = treeListConnection.AppendNode(new object[] { "Tables" }, child); //tabelas Task <string[]> taskTables = Task.Run(() => connection.Tables); var tables = await taskTables; childChild.ImageIndex = 2; childChild.SelectImageIndex = 2; //colocas as tabelas foreach (var tb in tables) { //coloque as tabelas daquele banco var child3 = treeListConnection.AppendNode(new object[] { tb }, childChild); child3.ImageIndex = 3; child3.SelectImageIndex = 3; //treeListConnection.EndUnboundLoad(); } treeListConnection.BeginUnboundLoad(); treeListConnection.EndUnboundLoad(); } } //apos isso faço tudo denovo em cada string de conexão } })); }