private void comprarCadenasToolStripMenuItem_Click(object sender, EventArgs e) { if (ListaObjetos.SelectedIndex == -1) { return; } // muestro las diferedncias en el odigo //me traigo el objeto que tiene las diferencias Objetos.CDiferenciaObjeto objdif = null; objdif = Diferencias[ListaObjetos.SelectedIndex]; //si es procedimiento almacenado, funcion o vita puedo hacer la comparacion de codigo Objetos.CSysObject obj = (Objetos.CSysObject)objdif.obj; if (obj.TipoObjeto != Controladores_DB.TIPOOBJETO.STOREPROCERURE && obj.TipoObjeto != Controladores_DB.TIPOOBJETO.VISTA) { //como no es soprtado el tipo de objeto, no hago nada return; } // ahora veo el tipo de diferencia que es. if (!objdif.Descripcion.Contains("El código fuente es diferente")) { // no es diferencia de codigo. // no hago nada return; } //ahora si me traigo el codigo de ambas bases string s1 = DB.DameCodigo(obj.Nombre); string s2 = DB2.DameCodigo(obj.Nombre); //ahora si los paso al comparador de cadenas para que los muestre if (OnComprarCodigo != null) { OnComprarCodigo(s1, "Local", s2, ComboConexiones.Text); } }
public string DameInsert(string tabs, string sx) { //regresa la sintaxis de un insert en una tabla Objetos.CSysObject Tabla = Lista[ListaObjetos.SelectedIndex]; string s = sx + "into " + Tabla.Nombre + "("; string s2 = "\r\n" + tabs + "values("; System.Collections.Generic.List <Objetos.CParametro> campos; campos = DB.DameCamposTabla(Tabla.Nombre); bool primero = true; foreach (Objetos.CParametro campo in campos) { if (primero == true) { s = s + campo.nombre; primero = false; } else { s = s + "," + campo.nombre; s2 = s2 + ","; } } s = s + ")" + s2 + ")"; return(s); }
private TreeNode AgregaPadre(string nombre, TreeNode nodo) { TreeNode ultimo = nodo; System.Collections.Generic.List <Objetos.CSysObject> lista; lista = DB.DamePadresDe(nombre); int n; n = lista.Count; if (n > 0)//for (i = 0; i < n; i++) { Objetos.CSysObject obj = lista[0]; TreeNode nodo2 = AgregaPadre(obj.Nombre, nodo); TreeNode nodo3 = nodo2.Nodes.Add(nombre); nodo3.ImageIndex = 1; nodo3.SelectedImageIndex = 1; nodo3.StateImageIndex = 1; Objetos.Add(obj); return(nodo3); } TreeNode nodo4 = nodo.Nodes.Add(nombre); nodo4.ImageIndex = 1; nodo4.SelectedImageIndex = 1; nodo4.StateImageIndex = 1; return(nodo4); }
private void timer1_Tick(object sender, EventArgs e) { if (Lista.Count == 0) { timer1.Enabled = false; cBarraProgreso1.Texto = "Analisis terminado"; foreach (string s in ListaTablas) { MuestraTabla(s); } COrdenadorTablas ot = new COrdenadorTablas(Tablas); ot.Ordena(); Dibuja(); return; } try { cBarraProgreso1.Progreso++; } catch (System.Exception) { cBarraProgreso1.Progreso = 1; } //me traigo el primer Item Obj = Lista[0]; Lista.RemoveAt(0); if (Obj.TipoObjeto == Controladores_DB.TIPOOBJETO.TABLAX) { ListaTablas.Add(Obj.Nombre); } else { cBarraProgreso1.Texto = "Extrayendo dependencias de: " + Obj.Nombre; System.Collections.Generic.List <Objetos.CSysObject> l; if (Obj.TipoObjeto == Controladores_DB.TIPOOBJETO.STOREPROCERURE) { l = DB.DameDependencias(Obj.Nombre); } else { l = DB.DameDependientesDe(Obj.Nombre); } foreach (Objetos.CSysObject obj in l) { if (obj.TipoObjeto == Controladores_DB.TIPOOBJETO.TABLAX) { AgregaAlaLista(obj.Nombre); } else { if (Exiete(obj.Nombre) == false) { Lista.Add(obj); cBarraProgreso1.ValorMaximo++; } } } } }
private bool BuscaEvent(Objetos.CSysObject obj) { if (OnBusca != null) { return(OnBusca(obj)); } return(true); }
private bool IncrementoEvent(Objetos.CSysObject obj) { if (OnIncremento != null) { OnIncremento(obj); } return(true); }
private void lLenarDesdeUnSpOTablaToolStripMenuItem_Click(object sender, EventArgs e) { Formularios.FormBuscarTabla dlg = new FormBuscarTabla(DB, Visor_sql_2015.Controladores_DB.TIPOOBJETO.STOREPROCERURE); if (dlg.ShowDialog() == DialogResult.Cancel) { return; } Objetos.CSysObject obj = dlg.DameObjeto(); int j, k; System.Data.SqlClient.SqlCommand SqlCommand1; SqlCommand1 = new System.Data.SqlClient.SqlCommand(); SqlCommand1.CommandText = obj.Nombre; SqlCommand1.CommandType = System.Data.CommandType.StoredProcedure; SqlCommand1.Connection = new System.Data.SqlClient.SqlConnection(DB.ConnectionString); SqlCommand1.Connection.Open(); System.Data.SqlClient.SqlCommandBuilder.DeriveParameters(SqlCommand1); System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1; sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter(); sqlDataAdapter1.SelectCommand = SqlCommand1; DataSet ds = new DataSet("aaa"); try { sqlDataAdapter1.GetFillParameters(); sqlDataAdapter1.FillSchema(ds, SchemaType.Source, "aaa"); k = ds.Tables.Count; for (j = 0; j < k; j++) { System.Data.DataTable t = ds.Tables[j]; int i, n; n = t.Columns.Count; Objetos.CConvertidor cv = new Objetos.CConvertidor(); for (i = 0; i < n; i++) { System.Data.DataColumn c = t.Columns[i]; Objetos.CParametro parametro = new Objetos.CParametro(); parametro.tipo = c.Caption; parametro.nombre = c.Caption; parametro.Logitud = c.MaxLength; this.Campos.Add(parametro); ListaCampos.Items.Add(parametro.tipo); //string TipoNet = cv.DameTipo(c.DataType.ToString()); //OnDatoManual(c.Caption, TipoNet); } } } catch (Exception ex) { SqlCommand1.Connection.Close(); throw new Exception(ex.Message); } SqlCommand1.Connection.Close(); MuestraDataGrid(); }
private void animatedWaitTextBox1_EsperaCompletada(string Texto, int Decimas) { try { ListaObjetos.Nodes.Clear(); Controladores_DB.TIPOOBJETO tipo = Controladores_DB.TIPOOBJETO.NINGUNO; switch (ComboTipos.SelectedIndex) { case 0: tipo = Controladores_DB.TIPOOBJETO.NINGUNO; break; case 1: tipo = Controladores_DB.TIPOOBJETO.TABLAX; break; case 2: tipo = Controladores_DB.TIPOOBJETO.VISTA; break; case 3: tipo = Controladores_DB.TIPOOBJETO.STOREPROCERURE; break; case 4: tipo = Controladores_DB.TIPOOBJETO.EN_CODIGO; break; case 5: tipo = Controladores_DB.TIPOOBJETO.VISTAS_TABLAS; break; case 6: tipo = Visor_sql_2015.Controladores_DB.TIPOOBJETO.CAMPOS_TABLA; break; } Lista = DB.BuscaObjetos(Texto.Trim(), tipo); int i, n; n = Lista.Count; for (i = 0; i < n; i++) { Objetos.CSysObject obj = Lista[i]; Objetos.CNodoBuscar nodo = new Objetos.CNodoBuscar(); nodo.Text = obj.Nombre; nodo.Tipo = obj.TipoObjeto; nodo.Tag = obj; ListaObjetos.Nodes.Add(nodo); } LEncontrados.Text = "Elementos Encontrados=" + Lista.Count.ToString(); } catch (System.Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } }
public CDependencia(TreeNode nodo, Objetos.CSysObject objeto, Controladores_DB.IDataBase db, bool modo) { Modo = modo; DB = db; Nodo = nodo; Objeto = objeto; Lista = new List <CDependencia>(); this.timer1 = new System.Windows.Forms.Timer(); this.timer1.Interval = 50; this.timer1.Tick += new System.EventHandler(this.timer1_Tick); }
private void ListaObjetos_DoubleClick(object sender, EventArgs e) { if (ListaObjetos.SelectedIndex == -1) { return; } Objetos.CSysObject obj = Lista[ListaObjetos.SelectedIndex]; if (OnVerObjeto != null) { OnVerObjeto(obj); } }
private void ComparaCodigo(Objetos.CSysObject obj, Objetos.CSysObject obj2) { //son SPs o vistas o trigers string s1, s2; s1 = DB.DameCodigo(obj.Nombre).ToUpper().Trim().Replace("\r\n", "\n"); s2 = DB2.DameCodigo(obj.Nombre).ToUpper().Trim().Replace("\r\n", "\n"); if (s1 != s2) { AgregaDiferencia(obj, "El código fuente es diferente", 2); } }
private void AgregaDependencias(Objetos.CSysObject Objeto, TreeNode nodo) { Progreso.Texto = "cargando dependencias de: " + Objeto.Nombre; System.Collections.Generic.List <Objetos.CSysObject> lista; //si es un SP, y es el objeto principal, muestro sus dependendias if (RBDependende.Checked == true) { if (Objeto.TipoObjeto == Visor_sql_2015.Controladores_DB.TIPOOBJETO.STOREPROCERURE) { lista = DB.DameDependientesDe(Objeto.Nombre); } else { lista = DB.DameDependencias(Objeto.Nombre); } } else { if (Objeto.TipoObjeto == Visor_sql_2015.Controladores_DB.TIPOOBJETO.STOREPROCERURE) { lista = DB.DameDependencias(Objeto.Nombre); } else { lista = DB.DameDependientesDe(Objeto.Nombre); } } int i, n; n = lista.Count; Progreso.ValorMaximo = Progreso.ValorMaximo + n; for (i = 0; i < n; i++) { Objetos.CSysObject obj = lista[i]; TreeNode nodo2 = nodo.Nodes.Add(obj.Nombre); nodo2.Tag = obj; nodo2.ImageIndex = IndexImagen(obj); nodo2.SelectedImageIndex = IndexImagen(obj); nodo2.StateImageIndex = IndexImagen(obj); } for (i = 0; i < n; i++) { Progreso.Progreso++; Invalidate(); Objetos.CSysObject obj = lista[i]; if (Busca(obj) == false) { TreeNode nodo2 = nodo.Nodes[i]; AgregaDependencias(obj, nodo2); } } }
private void ListaObjetos_DoubleClick(object sender, EventArgs e) { if (ListaObjetos.SelectedNode == null) { return; } Objetos.CNodoBuscar nodo = (Objetos.CNodoBuscar)ListaObjetos.SelectedNode; Objetos.CSysObject obj = (Objetos.CSysObject)nodo.Tag; if (OnVerObjeto != null) { OnVerObjeto(obj); } }
private bool Busca(Objetos.CSysObject obj2) { int i, n; n = Agregados.Count; for (i = 0; i < n; i++) { Objetos.CSysObject obj = Agregados[i]; if (obj.Nombre == obj2.Nombre) { return(true); } } Agregados.Add(obj2); return(false); }
private void TNombre_TextChanged(object sender, EventArgs e) { try { ListaObjetos.Items.Clear(); Controladores_DB.TIPOOBJETO tipo = Controladores_DB.TIPOOBJETO.NINGUNO; switch (ComboTipos.SelectedIndex) { case 0: tipo = Controladores_DB.TIPOOBJETO.NINGUNO; break; case 1: tipo = Controladores_DB.TIPOOBJETO.TABLAX; break; case 2: tipo = Controladores_DB.TIPOOBJETO.VISTA; break; case 3: tipo = Controladores_DB.TIPOOBJETO.STOREPROCERURE; break; case 4: tipo = Controladores_DB.TIPOOBJETO.EN_CODIGO; break; case 5: tipo = Controladores_DB.TIPOOBJETO.VISTAS_TABLAS; break; } Lista = DB.BuscaObjetos(TNombre.Text.Trim(), tipo); int i, n; n = Lista.Count; for (i = 0; i < n; i++) { Objetos.CSysObject obj = Lista[i]; ListaObjetos.Items.Add(obj); } LEncontrados.Text = "Elementos Encontrados=" + Lista.Count.ToString(); } catch (System.Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } }
private void AgregaHijos(string nombre, TreeNode nodo) { System.Collections.Generic.List <Objetos.CSysObject> lista; lista = DB.DameHijosDe(nombre); int i, n; n = lista.Count; for (i = 0; i < n; i++) { Objetos.CSysObject obj = lista[i]; Objetos.Add(obj); TreeNode nodo2 = nodo.Nodes.Add(obj.Nombre); nodo2.ImageIndex = 3; nodo2.SelectedImageIndex = 3; nodo2.StateImageIndex = 3; AgregaHijos(obj.Nombre, nodo2); } }
private void listView1_DoubleClick(object sender, EventArgs e) { if (Tabla == null) { return; } System.Collections.Generic.List <Objetos.CSysObject> lista; lista = DB.BuscaObjetos(Tabla, Controladores_DB.TIPOOBJETO.NINGUNO); if (lista.Count == 0) { return; } Objetos.CSysObject obj = lista[0]; if (OnVerObjeto != null) { OnVerObjeto(obj); } }
private void ComparaLLavesForaneas(Objetos.CSysObject obj, Objetos.CSysObject obj2) { System.Collections.Generic.List <Objetos.CCampoFK> l1, l2; l1 = DB.DameLLaveForanea(obj.Nombre); l2 = DB2.DameLLaveForanea(obj2.Nombre); if (l1.Count != l2.Count) { AgregaDiferencia(obj, "El numero de campos de la llave foránea no coinciden", 2); return; } int i, n; n = l2.Count; //comparo campo por campo for (i = 0; i < n; i++) { Objetos.CCampoFK c1, c2; c1 = l1[i]; c2 = l2[i]; //comparo si las tablas coinciden if (c1.maestra != c2.maestra) { AgregaDiferencia(obj, "Las tablas con clave primaria no coinciden", 2); return; } if (c1.hija != c2.hija) { AgregaDiferencia(obj, "Las tablas con clave externa no coinciden", 2); return; } if (c1.columnahija != c2.columnahija) { AgregaDiferencia(obj, "Las columnas de clave externa no coinciden", 2); return; } if (c1.columnaMaestra != c2.columnaMaestra) { AgregaDiferencia(obj, "Las columnas de clave primaria no coinciden", 2); return; } } }
private void FormDependecias_Load(object sender, EventArgs e) { if (Dependencias == true) { Lista = DB.DameDependencias(fnombre); } else { Lista = DB.DameDependientesDe(fnombre); } listBox1.Items.Clear(); int i, n; n = Lista.Count; for (i = 0; i < n; i++) { Objetos.CSysObject obj = Lista[i]; listBox1.Items.Add(obj.Nombre); } }
private void animatedWaitTextBox1_EsperaCompletada(string Texto, int Decimas) { try { ListaObjetos.Items.Clear(); Lista = DB.BuscaObjetos(Texto.Trim(), Tipo); int i, n; n = Lista.Count; for (i = 0; i < n; i++) { Objetos.CSysObject obj = Lista[i]; ListaObjetos.Items.Add(obj.Nombre); } LEncontrados.Text = "Elementos Encontrados=" + Lista.Count.ToString(); } catch (System.Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } }
private void verTablaToolStripMenuItem_Click(object sender, EventArgs e) { TreeNode nodo = treeView1.SelectedNode; if (nodo == null) { return; } System.Collections.Generic.List <Objetos.CSysObject> lista; lista = DB.BuscaObjetos(nodo.Text, Controladores_DB.TIPOOBJETO.NINGUNO); if (lista.Count == 0) { return; } Objetos.CSysObject obj = lista[0]; if (OnVerObjeto != null) { OnVerObjeto(obj); } }
private void animatedWaitTextBox1_EsperaCompletada(string Texto, int Decimas) { try { ListaObjetos.Items.Clear(); DlstCampos.Items.Clear(); List <Objetos.CSysObject> Lista; Lista = DB.BuscaObjetos(Texto.Trim(), Controladores_DB.TIPOOBJETO.TABLAX); int i, n; n = Lista.Count; for (i = 0; i < n; i++) { Objetos.CSysObject obj = Lista[i]; ListaObjetos.Items.Add(obj.Nombre); } } catch (System.Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } }
private int IndexImagen(Objetos.CSysObject obj) { //regresa el indice de la imagen al que depende el objeto switch (obj.TipoObjeto) { case Visor_sql_2015.Controladores_DB.TIPOOBJETO.STOREPROCERURE: return(4); case Visor_sql_2015.Controladores_DB.TIPOOBJETO.TABLAX: return(0); case Visor_sql_2015.Controladores_DB.TIPOOBJETO.VISTAS_TABLAS: return(0); case Visor_sql_2015.Controladores_DB.TIPOOBJETO.TABLASYSTEMA: return(0); case Visor_sql_2015.Controladores_DB.TIPOOBJETO.VISTA: return(5); } return(6); }
private void AgregaDiferencia(Objetos.CSysObject obj, string descripcion, int tipo) { bool agregar = false; switch (ComboVer.SelectedIndex) { case 0: // todos agregar = true; break; case 1: //nuevos if (tipo == 1) { agregar = true; } break; case 2: //con diferencias if (tipo == 2) { agregar = true; } break; default: agregar = true; //no definido break; } if (agregar) { Objetos.CDiferenciaObjeto dobj = new Visor_sql_2015.Objetos.CDiferenciaObjeto(); dobj.obj = obj; dobj.Descripcion = descripcion; Diferencias.Add(dobj); ListaObjetos.Items.Add(obj.Nombre); label3.Text = "Objetos con diferencias: " + ListaObjetos.Items.Count; } }
public string DameSP(string s2) { //regresa la sintaxis de una llamada a un SP Objetos.CSysObject Tabla = Lista[ListaObjetos.SelectedIndex]; string s = s2 + Tabla.Nombre + " "; System.Collections.Generic.List <Objetos.CParametro> campos; campos = DB.DameParametrosDeProcedimiento(Tabla.Nombre); bool primero = true; foreach (Objetos.CParametro campo in campos) { if (primero == true) { s = s + campo.nombre; primero = false; } else { s = s + "," + campo.nombre; } } return(s); }
private void BAgregar_Click(object sender, EventArgs e) { //verifico si existe en la lista destido int i, n; n = ListaObjetos.SelectedIndices.Count; for (i = n - 1; i >= 0; i--) { int indice = ListaObjetos.SelectedIndices[i]; Objetos.CSysObject obj2 = (Objetos.CSysObject)ListaObjetos.Items[indice]; foreach (Objetos.CSysObject obj in Lista2.Items) { if (obj.Nombre == obj2.Nombre) { //como ya existe, no lo agrego return; } } Lista2.Items.Add(ListaObjetos.Items[indice]); ListaObjs2.Add(Lista[indice]); Lista.RemoveAt(indice); ListaObjetos.Items.RemoveAt(indice); } }
private void timer1_Tick(object sender, EventArgs e) { Objetos.CSysObject obj = null; TreeNode nodo2 = null; CDependencia dep = null; switch (estado) { case 0: //cargando dependencias if (Pos >= Objetos.Count) { Pos = 0; estado = 1; if (OnBeginBusqueda != null) { BeginBusqueda(); } return; } obj = Objetos[Pos]; nodo2 = Nodo.Nodes.Add(obj.Nombre); nodo2.ImageIndex = IndexImagen(obj); nodo2.SelectedImageIndex = IndexImagen(obj); nodo2.StateImageIndex = IndexImagen(obj); if (OnIncremento != null) { OnIncremento(obj); } Pos++; break; case 1: //buscando los que ya se avian agregado if (Pos >= Objetos.Count) { timer1.Enabled = false; //checo si se insertaron mas nodos if (Lista.Count == 0) { //ya no hay mas, por lo que termine if (OnFin != null) { OnFin(); } return; } //me traigo el primer objeto Pos = 0; dep = Lista[Pos]; //que carge sus dependencias dep.CargaDependencias(); return; } obj = Objetos[Pos]; if (OnBusca != null) { //busca si ya avia sido agregada la dependencia if (OnBusca(obj) == false) { //no se encontro, por lo que lo agrego a la lista de insercion nodo2 = Nodo.Nodes[Pos]; dep = new CDependencia(nodo2, obj, DB, Modo); dep.OnBusca += new OnBuscaEvent(BuscaEvent); dep.OnCantidad = new OnCantidadEvent(CantidadEvent); dep.OnFin += new OnFinEvent(FinEvent); dep.OnIncremento += new OnBuscaEvent(IncrementoEvent); dep.OnBeginBusqueda = new OnFinEvent(BeginBusqueda); Lista.Add(dep); } } Pos++; break; } }
private bool BuscaEvent(Objetos.CSysObject obj) { Progreso.Texto = "Buscando: " + obj.Nombre; Progreso.Progreso++; return(Busca(obj)); }
private void AnalizaSiguiente() { if (Lista.Count == 0) { //ya se termino el analisis cBarraProgreso1.Texto = "Exportacion terminada"; TimerDocumentar.Enabled = false; BAnalizar.Enabled = true; return; } Objetos.CSysObject obj = Lista[0]; Lista.RemoveAt(0); cBarraProgreso1.Texto = "Analizando: " + obj.Nombre; cBarraProgreso1.Progreso++; //me traigo la docuemntacion de la tabla //veo si existe en la base de datos destino Objetos.CSysObject ObjDest; List <Objetos.CSysObject> l = DB2.BuscaObjetos(obj.Nombre, obj.TipoObjeto); if (l.Count == 0) { return; } ObjDest = l[0]; if (ObjDest == null) { return; } if (obj.Nombre.ToLower().Trim() != ObjDest.Nombre.ToLower().Trim()) { return; } //aplico la docuemntacion string DescTabla = DB.DaMeDescripcionTabla(obj.Nombre); bool documentada = false; if (DescTabla.Trim() != "") { documentada = true; DB2.GusrdaDescripcionTabla(ObjDest.Nombre, DescTabla); } //me traigo los campos de la tabla System.Collections.Generic.List <Objetos.CParametro> Campos; Campos = DB.DameCamposTabla(obj.Nombre); foreach (Objetos.CParametro campo in Campos) { campo.Descripcion = DB.DameDescripcionCampo(obj.Nombre, campo.nombre); if (campo.Descripcion.Trim() != "") { try { DB2.GuardaDescripcionCampo(ObjDest.Nombre, campo.nombre, campo.Descripcion); documentada = true; } catch (System.Exception ex) { TablasDocuemntadas.Items.Add(ex.Message); } } } if (documentada == true) { TablasDocuemntadas.Items.Add(obj.Nombre); } }
private bool IncrementoEvent(Objetos.CSysObject obj) { Progreso.Texto = "Cargando: " + obj.Nombre; Progreso.Progreso++; return(true); }