예제 #1
0
        private void MuestraCampos()
        {
            //acrgo los campos de la tabla
            int i, n;

            Objetos.CParametro Parametro = null;
            ComboCampos.Items.Clear();
            n = Campos.Count;
            for (i = 0; i < n; i++)
            {
                Parametro = Campos[i];
                ComboCampos.Items.Add(Parametro.nombre);
            }
            if (Parametros == null)
            {
                Parametros = new List <Visor_sql_2005.Objetos.CParametro>();
            }
            ComboParametros.Items.Clear();
            n = Parametros.Count;
            for (i = 0; i < n; i++)
            {
                Parametro = Parametros[i];
                ComboParametros.Items.Add(Parametro.nombre);
            }
        }
예제 #2
0
        private void ListaParametros_DoubleClick(object sender, EventArgs e)
        {
            if (ListaParametros.SelectedIndex == -1)
            {
                return;
            }
            Objetos.CParametro obj = (Objetos.CParametro)ListaParametros.Items[ListaParametros.SelectedIndex];
            FormPropCampo      dlg = new FormPropCampo();

            dlg.Nombre      = obj.nombre;
            dlg.Tipo        = obj.tipo;
            dlg.Comentario  = obj.Descripcion;
            dlg.EnableAlias = obj.EnableAlias;
            dlg.Alias       = obj.Alias;
            dlg.Sum         = obj.Sum;
            dlg.EnableCase  = obj.EnableCase;
            dlg.Casos       = obj.Casos;
            if (dlg.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }
            obj.nombre      = dlg.Nombre;
            obj.tipo        = dlg.Tipo;
            obj.Descripcion = dlg.Comentario;
            obj.EnableAlias = dlg.EnableAlias;
            obj.Alias       = dlg.Alias;
            obj.Sum         = dlg.Sum;
            obj.EnableCase  = dlg.EnableCase;
            obj.Casos       = dlg.Casos;
        }
예제 #3
0
 private void button3_Click(object sender, System.EventArgs e)
 {
     Objetos.CParametro Parametro = this.Parametros[ComboParametros.SelectedIndex];
     Parametros.RemoveAt(ComboParametros.SelectedIndex);
     ComboParametros.Items.RemoveAt(ComboParametros.SelectedIndex);
     Campos.Add(Parametro);
     ComboCampos.Items.Add(Parametro.nombre);
 }
예제 #4
0
        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();
        }
예제 #5
0
        private void Dame()
        {
            System.Collections.Generic.List <Objetos.CParametro> campos;
            campos = DB.DameCamposTabla(this.NombreTabla);
            int    i, n;
            string s = "create procedure " + Nombre;

            n = this.Parametros.Count;
            if (n > 0)
            {
                s = s + "(";
            }
            //agrego los campos de la tabla (todos)
            for (i = 0; i < n; i++)
            {
                if (i > 0)
                {
                    s = s + ",";
                }
                Objetos.CParametro Parametro = Parametros[i];
                s = s + "@" + Parametro.nombre + " " + Parametro.TipoSP;
            }
            if (n > 0)
            {
                s = s + ") as\r\n";
            }
            else
            {
                s = s + " as\r\n";
            }
            s = s + "begin\r\n";
            s = s + "\t--procedimiento almacenado que obtiene datos de la tabla " + NombreTabla + " \r\n";
            s = s + "\t --agregar el codigo adicional aqui\r\n";
            s = s + "\tselect * from " + NombreTabla;
            n = this.Parametros.Count;
            if (n > 0)
            {
                s = s + " where ";
            }
            for (i = 0; i < n; i++)
            {
                if (i > 0)
                {
                    s = s + " and ";
                }
                Objetos.CParametro Parametro = Parametros[i];
                s = s + Parametro.nombre + "=@" + Parametro.nombre;
            }
            s = s + "\r\nend\r\n";
            if (OnCodigo != null)
            {
                OnCodigo(textBox1.Text, s);
            }
        }
예제 #6
0
        private void BSubirDestino_Click(object sender, EventArgs e)
        {
            if (ListaCamposDestino2.SelectedIndex <= 0)
            {
                return;
            }
            int si = ListaCamposDestino2.SelectedIndex;

            Objetos.CParametro s = (Objetos.CParametro)ListaCamposDestino2.Items[ListaCamposDestino2.SelectedIndex];
            ListaCamposDestino2.Items.Insert(ListaCamposDestino2.SelectedIndex - 1, s);
            ListaCamposDestino2.Items.RemoveAt(ListaCamposDestino2.SelectedIndex);
            ListaCamposDestino2.SelectedIndex = si - 1;
        }
예제 #7
0
        private void MuestraPK()
        {
            LLaves = DB.DameLLavesPrimarias(this.NombreTabla);
            int i, n;

            n = this.LLaves.Count;
            ComboLLave.Items.Clear();
            for (i = 0; i < n; i++)
            {
                Objetos.CParametro Parametro = LLaves[i];
                ComboLLave.Items.Add(Parametro.nombre);
            }
        }
예제 #8
0
        private void BBajarDestino_Click(object sender, EventArgs e)
        {
            if (ListaCamposDestino2.SelectedIndex >= ListaCamposDestino2.Items.Count - 1)
            {
                return;
            }
            int si = ListaCamposDestino2.SelectedIndex;

            Objetos.CParametro s = (Objetos.CParametro)ListaCamposDestino2.Items[ListaCamposDestino2.SelectedIndex];
            ListaCamposDestino2.Items.Insert(ListaCamposDestino2.SelectedIndex + 2, s);
            ListaCamposDestino2.Items.RemoveAt(ListaCamposDestino2.SelectedIndex);
            ListaCamposDestino2.SelectedIndex = si + 1;
        }
예제 #9
0
        private void button4_Click(object sender, System.EventArgs e)
        {
            int i, n;

            n = Parametros.Count;
            for (i = 0; i < n; i++)
            {
                Objetos.CParametro Parametro = this.Parametros[i];
                Campos.Add(Parametro);
                ComboCampos.Items.Add(Parametro.nombre);
            }
            Parametros.Clear();
            ComboParametros.Items.Clear();
        }
예제 #10
0
        private void TDescCampo_TextChanged(object sender, EventArgs e)
        {
            if (ListaCampos2.SelectedIndex == -1)
            {
                return;
            }

            Objetos.CParametro obj = (Objetos.CParametro)ListaCampos2.Items[ListaCampos2.SelectedIndex];
            if (obj.Descripcion != TDescCampo.Rtf)
            {
                obj.Descripcion = TDescCampo.Rtf;
                obj.Modificado  = true;
                return;
            }
            obj.Modificado = false;
        }
예제 #11
0
        private void agregarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormDataGridCampo dlg = new FormDataGridCampo();

            if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.Cancel)
            {
                return;
            }
            Objetos.CParametro parametro = new Objetos.CParametro();
            parametro.tipo    = dlg.Campo;
            parametro.nombre  = dlg.Descripcion;
            parametro.Logitud = dlg.Tamaño;
            this.Campos.Add(parametro);
            ListaCampos.Items.Add(parametro.tipo);
            MuestraDataGrid();
        }
예제 #12
0
        private void bajarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.ListaCampos.SelectedIndex == -1 || ListaCampos.SelectedIndex >= Campos.Count - 1)
            {
                return;
            }
            int pos = ListaCampos.SelectedIndex;

            Objetos.CParametro parametro = Campos[pos];
            ListaCampos.Items.RemoveAt(pos);
            Campos.RemoveAt(pos);
            ListaCampos.Items.Insert(pos + 1, parametro.tipo);
            Campos.Insert(pos + 1, parametro);
            ListaCampos.SelectedIndex = pos + 1;
            MuestraDataGrid();
        }
예제 #13
0
        private void button4_Click(object sender, System.EventArgs e)
        {
            int i, n;

            n = CamposTabla.Count;
            if (CamposRegresar == null)
            {
                CamposRegresar = new System.Collections.Generic.List <Objetos.CParametro>();
            }
            for (i = 0; i < n; i++)
            {
                Objetos.CParametro Parametro = CamposTabla[i];
                CamposRegresar.Add(Parametro);
                ListaRegreso.Items.Add(Parametro.nombre);
            }
            CamposTabla.Clear();
        }
예제 #14
0
 private void CargaDatos()
 {
     // en esta funcion se cargan los datos que los demas modulos del asistente se fueroncaprurando
     NombreSP           = (string)DameValor("NombreSP");
     Parametros         = (List <Objetos.CParametro>)DameValor("ListaParametros");
     ComentarioNombreSP = (string)DameValor("ComentarioNombreSP");
     Tabla          = (string)DameValor("Tabla");
     ValoresFijos   = (List <Objetos.CParametro>)DameValor("AsisSelValFijos");
     LLavesForaneas = (List <Objetos.CLLaveForanea>)DameValor("AsisForeigKeys");
     GenerarLLave   = (bool)DameValor("AsisGenLLave");
     if (GenerarLLave == true)
     {
         CampoLLave = (Objetos.CParametro)DameValor("CampoLLave");
     }
     //me traigo las llaves primarias
     LLavesPrimarias = DB.DameLLavesPrimarias(Tabla);
 }
예제 #15
0
        private void ListaParametros_DoubleClick(object sender, EventArgs e)
        {
            if (ListaParametros.SelectedIndex == -1)
            {
                return;
            }
            Objetos.CParametro obj  = (Objetos.CParametro)ListaParametros.Items[ListaParametros.SelectedIndex];
            string             tipo = (string)DameValor("Tipo");

            if (tipo == "Lectura")
            {
                FormPropParametro dlg = new FormPropParametro();
                dlg.Nombre     = obj.nombre;
                dlg.Tipo       = obj.tipo;
                dlg.Filtro     = obj.Filtro;
                dlg.Comentario = obj.Descripcion;
                if (dlg.ShowDialog() == DialogResult.Cancel)
                {
                    return;
                }
                obj.Filtro      = dlg.Filtro;
                obj.Descripcion = dlg.Comentario;
            }
            else if (tipo == "Escritura" || tipo == "Update")
            {
                FormPropParametro2 dlg = new FormPropParametro2();
                dlg.Nombre                = obj.nombre;
                dlg.Tipo                  = obj.tipo;
                dlg.NoRepetibles          = obj.ValidarUnicidad;
                dlg.Comentario            = obj.Descripcion;
                dlg.Vacios                = obj.Vacios;
                dlg.ExcepcionNoRepetibles = obj.ExcepcionNoRepetibles;
                dlg.ExcepcionVacios       = obj.ExcepcionVacios;
                if (dlg.ShowDialog() == DialogResult.Cancel)
                {
                    return;
                }
                obj.Descripcion           = dlg.Comentario;
                obj.ValidarUnicidad       = dlg.NoRepetibles;
                obj.Descripcion           = dlg.Comentario;
                obj.Vacios                = dlg.Vacios;
                obj.ExcepcionNoRepetibles = dlg.ExcepcionNoRepetibles;
                obj.ExcepcionVacios       = dlg.ExcepcionVacios;
            }
        }
예제 #16
0
 private void OnDatoManual(string nombre, string tipo)
 {
     if (CamposRegresar == null)
     {
         CamposRegresar = new List <Visor_sql_2015.Objetos.CParametro>();
     }
     foreach (string s in ListaRegreso.Items)
     {
         if (s == nombre)
         {
             return;
         }
     }
     Objetos.CParametro Parametro = new Objetos.CParametro();
     Parametro.nombre  = nombre;
     Parametro.TipoNet = tipo;
     CamposRegresar.Add(Parametro);
     ListaRegreso.Items.Add(nombre);
 }
예제 #17
0
        private void CreaHojaTabla(OleDbCommand cmd, string tabla)
        {
            string tabla2 = "";

            if (tabla.Length > 30)
            {
                tabla2 = tabla.Substring(0, 30);
            }
            else
            {
                tabla2 = tabla;
            }
            cmd.CommandText = "create table " + tabla2 + "(Nombre char(10))";
            cmd.ExecuteNonQuery();
            cmd.CommandText = "UPDATE [" + tabla2 + "$A1:A1] SET F1=" + "\'Nombre del campo \'";
            cmd.ExecuteNonQuery();
            cmd.CommandText = "UPDATE [" + tabla2 + "$B1:B1] SET F1=" + "\'Tipo \'";
            cmd.ExecuteNonQuery();
            cmd.CommandText = "UPDATE [" + tabla2 + "$C1:C1] SET F1=" + "\'Longitud\'";
            cmd.ExecuteNonQuery();
            cmd.CommandText = "UPDATE [" + tabla2 + "$D1:D1] SET F1=" + "\'Acepta nulos \'";
            cmd.ExecuteNonQuery();
            //me traigo los campos de la tabla
            System.Collections.Generic.List <Objetos.CParametro> Campos = DB.DameCamposTabla(tabla);
            int i, n;

            n = Campos.Count;
            for (i = 0; i < n; i++)
            {
                int pos = i + 2;
                //agrego los datos de los campos
                Objetos.CParametro obj = Campos[i];
                cmd.CommandText = "UPDATE [" + tabla2 + "$A" + pos.ToString() + ":A" + pos.ToString() + "] SET F1=" + "\'" + obj.nombre + "\'";
                cmd.ExecuteNonQuery();
                cmd.CommandText = "UPDATE [" + tabla2 + "$B" + pos.ToString() + ":B" + pos.ToString() + "] SET F1=" + "\'" + obj.tipo + " \'";
                cmd.ExecuteNonQuery();
                cmd.CommandText = "UPDATE [" + tabla2 + "$C" + pos.ToString() + ":C" + pos.ToString() + "] SET F1=" + "\'" + obj.Logitud + " \'";
                cmd.ExecuteNonQuery();
                cmd.CommandText = "UPDATE [" + tabla2 + "$D" + pos.ToString() + ":D" + pos.ToString() + "] SET F1=" + "\'" + obj.NULOS + " \'";
                cmd.ExecuteNonQuery();
            }
        }
예제 #18
0
        private void ListaParametros_DoubleClick(object sender, EventArgs e)
        {
            if (ListaParametros.SelectedIndex == -1)
            {
                return;
            }
            Objetos.CParametro   obj = (Objetos.CParametro)ListaParametros.Items[ListaParametros.SelectedIndex];
            FormpropOrdenamiento dlg = new FormpropOrdenamiento();

            dlg.Nombre     = obj.nombre;
            dlg.Tipo       = obj.tipo;
            dlg.Desendente = obj.Descendente;
            if (dlg.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }
            obj.nombre      = dlg.Nombre;
            obj.tipo        = dlg.Tipo;
            obj.Descendente = dlg.Desendente;
        }
예제 #19
0
        private void ListaCampos_DoubleClick(object sender, EventArgs e)
        {
            if (this.ListaCampos.SelectedIndex == -1)
            {
                return;
            }
            Objetos.CParametro parametro = Campos[ListaCampos.SelectedIndex];
            FormDataGridCampo  dlg       = new FormDataGridCampo();

            dlg.Campo       = parametro.tipo;
            dlg.Descripcion = parametro.nombre;
            dlg.Tamaño      = parametro.Logitud;
            if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.Cancel)
            {
                return;
            }
            parametro.tipo    = dlg.Campo;
            parametro.nombre  = dlg.Descripcion;
            parametro.Logitud = dlg.Tamaño;
            MuestraDataGrid();
        }
예제 #20
0
        private void BEditarCampo_Click(object sender, EventArgs e)
        {
            FormSeleccionarCampos dlg = new FormSeleccionarCampos(Campos);

            dlg.Text  = "Seleccionar campo";
            dlg.Texto = "Campo a editar";
            if (dlg.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }
            FormPropiedadesCampo dlg2 = new FormPropiedadesCampo();

            Objetos.CParametro obj = Campos[dlg.CampoAEliminar];
            dlg2.Nombre             = obj.nombre;
            dlg2.Tipo               = obj.tipo;
            dlg2.Longitud           = obj.Logitud;
            dlg2.PermitirNulos      = obj.NULOS;
            dlg2.ValorPorDefault    = obj.ValorFijo;
            dlg2.Default            = obj.Default;
            dlg2.AuntoIncremental   = obj.AutoIncremental;
            dlg2.ValorCalculado     = obj.iscomputed;
            dlg2.ExprecionCalculado = obj.Valor;
            dlg2.Docuemntacion      = obj.Descripcion;
            if (dlg2.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }
            Campos[dlg.CampoAEliminar].nombre          = dlg2.Nombre;
            Campos[dlg.CampoAEliminar].tipo            = dlg2.Tipo;
            Campos[dlg.CampoAEliminar].Logitud         = dlg2.Longitud;
            Campos[dlg.CampoAEliminar].NULOS           = dlg2.PermitirNulos;
            Campos[dlg.CampoAEliminar].ValorFijo       = dlg2.ValorPorDefault;
            Campos[dlg.CampoAEliminar].Default         = dlg2.Default;
            Campos[dlg.CampoAEliminar].AutoIncremental = dlg2.AuntoIncremental;
            Campos[dlg.CampoAEliminar].iscomputed      = dlg2.ValorCalculado;
            Campos[dlg.CampoAEliminar].Valor           = dlg2.ExprecionCalculado;
            Campos[dlg.CampoAEliminar].Descripcion     = dlg2.Docuemntacion;
            Campos[dlg.CampoAEliminar].Variable        = dlg2.Variable;
            MuestraCampos();
        }
예제 #21
0
        private void MuestraDataGrid()
        {
            DataSet   ds = new DataSet();
            DataTable dt = new DataTable("Tabla");

            //agregarndo la tabla al data set
            ds.Tables.Add(dt);
            //llenando la tabla con datos
            int i, n;

            n = Campos.Count;
            for (i = 0; i < n; i++)
            {
                //Creando las columnas y agregando los items a la tabla
                Objetos.CParametro dato   = (Objetos.CParametro)Campos[i];
                DataColumn         dctipo = new DataColumn(dato.tipo);
                dt.Columns.Add(dctipo);
            }
            dataGrid1.DataSource = ds.Tables[0];
            DataGridTableStyle ts = new DataGridTableStyle();

            ts.AllowSorting = false;
            ts.MappingName  = "Tabla";
            for (i = 0; i < n; i++)
            {
                //creando las columnas que se van a ver
                Objetos.CParametro  dato = (Objetos.CParametro)Campos[i];
                DataGridColumnStyle tipo = new DataGridTextBoxColumn();
                tipo.MappingName = dato.tipo;
                tipo.HeaderText  = dato.nombre;
                tipo.Width       = dato.Logitud;
                tipo.ReadOnly    = true;
                ts.GridColumnStyles.Add(tipo);
            }
            //finalizando la creacion del data grid
            ts.MappingName = "Tabla";
            dataGrid1.TableStyles.Clear();
            dataGrid1.TableStyles.Add(ts);
            dataGrid1.AllowSorting = false;
        }
예제 #22
0
        private void ListaFiltros_DoubleClick(object sender, EventArgs e)
        {
            if (ListaFiltros.SelectedIndex == -1)
            {
                return;
            }
            Objetos.CParametro obj = (Objetos.CParametro)ListaFiltros.Items[ListaFiltros.SelectedIndex];
            FormPropFiltro     dlg = new FormPropFiltro();

            dlg.Nombre    = obj.nombre;
            dlg.Tipo      = obj.tipo;
            dlg.Filtro    = obj.Filtro;
            dlg.Parametro = obj.Parametro;
            if (dlg.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }
            obj.nombre    = dlg.Nombre;
            obj.tipo      = dlg.Tipo;
            obj.Filtro    = dlg.Filtro;
            obj.Parametro = dlg.Parametro;
        }
예제 #23
0
        private void AgregaCampo(Objetos.CParametro campo)
        {
            DataRow dr = null;

            dr           = Campos.NewRow();
            dr["Nombre"] = campo.nombre;
            dr["Tipo"]   = campo.tipo;
            dr["PK"]     = false;
            if (campo.NULOS != null && campo.NULOS.ToUpper().Trim() == "NO")
            {
                dr["Nulos"] = false;
            }
            else
            {
                dr["Nulos"] = true;
            }
            dr["AutoIncremental"] = campo.AutoIncremental;
            dr["Longitud"]        = campo.Logitud;
            //dr["ValorDeafult"]=campo.Default;
            //dr["ValorCalculado"]=campo;
            Campos.Rows.Add(dr);
        }
예제 #24
0
 private void ListaCampos_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (ListaCampos2.SelectedIndex == -1)
     {
         TNombreCampo.Text = "";
         TTipo.Text        = "";
         TLongitud.Text    = "";
         TDescCampo.Text   = "";
         return;
     }
     Objetos.CParametro ojb = (Objetos.CParametro)ListaCampos2.Items[ListaCampos2.SelectedIndex];
     TNombreCampo.Text = ojb.nombre;
     TTipo.Text        = ojb.tipo;
     TLongitud.Text    = ojb.Logitud.ToString();
     try
     {
         TDescCampo.Rtf = ojb.Descripcion;
     }
     catch (System.Exception)
     {
         TDescCampo.Text = ojb.Descripcion;
     }
 }
예제 #25
0
        public void CreaCodigoTabla(string clase, System.Collections.Generic.List <Objetos.CParametro> parametros)
        {
            TCodigo.Text = "";
            string s;

            s = "using System;\r\n";
            s = s + "namespace //namespace\r\n";
            s = s + "{\r\n";
            s = s + "\t/// <summary>\r\n";
            s = s + "\t/// Summary description for " + clase + ".\r\n";
            s = s + "\t/// </summary>\r\n";
            s = s + "\tpublic class " + clase + "\r\n";
            s = s + "\t{\r\n";
            s = s + "\t\tpublic " + clase + "()\r\n";
            s = s + "\t\t{\r\n";
            s = s + "\t\t//\r\n";
            s = s + "\t\t// TODO: Add constructor logic here\r\n";
            s = s + "\t\t//\r\n";
            s = s + "\t\t}\r\n";
            Objetos.CConvertidor conv = new Objetos.CConvertidor();
            int i, n;

            n = parametros.Count;
            for (i = 0; i < n; i++)
            {
                Objetos.CParametro par = parametros[i];
                s = s + "\t\tpublic " + par.TipoNet + " " + par.nombre + "\r\n";
                s = s + "\t\t{\r\n";
                s = s + "\t\t\tget;\r\n";
                s = s + "\t\t\tset;\r\n";
                s = s + "\t\t}\r\n";
            }
            s            = s + "\t}\r\n";
            s            = s + "}\r\n";
            TCodigo.Text = s;
            cTextColor1.AnalizaTexto();
        }
예제 #26
0
        private void Crear()
        {
            Objetos.CParametro llave = null;
            System.Collections.Generic.List <Objetos.CParametro> campos;
            campos = DB.DameCamposTabla(this.NombreTabla);
            int    i, n;
            string s = "create procedure " + Nombre + "(";

            n = this.Parametros.Count;
            //agrego los campos de la tabla (todos)
            for (i = 0; i < n; i++)
            {
                if (i > 0)
                {
                    s = s + ",";
                }
                Objetos.CParametro Parametro = Parametros[i];
                s = s + "@" + Parametro.nombre + " " + Parametro.TipoSP;
            }
            s = s + ") as\r\n";
            s = s + "begin\r\n";
            s = s + "\t--procedimiento almacenado que agrega un registro a la tabla " + NombreTabla + " \r\n";
            if (CHAuto.Checked == true)
            {
                llave = this.LLaves[0];
                //hay que obtener la llave de forma automatica
                //esto solo aplica cuado el campo es numerico
                s = s + "\tdeclare @" + llave.nombre + " " + llave.TipoSP + " --variable para obtener la llave automaticamente\r\n";
                s = s + "\tif exists( select * from " + this.NombreTabla.Trim() + ")\r\n";
                s = s + "\tbegin\r\n";
                s = s + "\t\t select @" + llave.nombre + "=max(" + llave.nombre + ")+1 from " + this.NombreTabla + " --obtengo un consecutivo\r\n";
                s = s + "\tend\r\n";
                s = s + "\telse\r\n";
                s = s + "\tbegin\r\n";
                s = s + "\t\t select @" + llave.nombre + "=0 --es el primer registro, por lo que empieza en cero\r\n";
                s = s + "\tend\r\n";
            }
            if (ComboForanes.CheckedItems.Count > 0)
            {
                //hay llaves foraneas, por lo que checo si hay que comprobar la integridad
                System.Collections.Generic.List <Objetos.CLLaveForanea> Fks = new System.Collections.Generic.List <Objetos.CLLaveForanea>();
                n = ComboForanes.CheckedIndices.Count;
                for (i = 0; i < n; i++)
                {
                    //creo la lista de llaves foraneas que hay que checar
                    Fks.Add(Foraneas[ComboForanes.CheckedIndices[i]]);
                }
                n = Fks.Count;
                for (i = 0; i < n; i++)
                {
                    Objetos.CLLaveForanea fk = Fks[i];
                    System.Collections.Generic.List <Objetos.CCampoFK> lista = DB.DameCamposFK(fk.id);
                    int j, k;
                    k = lista.Count;
                    Objetos.CCampoFK cfk = null;
                    if (fk.Comentarios.Trim() != "")
                    {
                        s = s + "\t--" + fk.Comentarios + "\r\n";
                    }

                    for (j = 0; j < k; j++)
                    {
                        cfk = lista[j];
                        if (j == 0)
                        {
                            s = s + "\tif not exists( select * from " + cfk.maestra + " where " + cfk.columnaMaestra + "=@" + cfk.columnahija;
                        }
                        else
                        {
                            s = s + " and " + cfk.columnaMaestra + "=@" + cfk.columnahija;
                        };
                    }
                    s = s + ")\r\n";
                    s = s + "\tbegin\r\n";
                    s = s + "\t\t--no se ncontro el campo de la llave foranea \r\n";
                    s = s + "\t\t--por lo que genero una ecepcion \r\n";
                    s = s + "\t\tRAISERROR ('" + fk.Mensage + "', 16, 1) \r\n";
                    s = s + "\t\treturn \r\n";
                    s = s + "\tend\r\n";
                }
            }
            s = s + "\t --agregar el codigo adicional aqui\r\n";
            s = s + "\tinsert into " + NombreTabla + "(";
            n = Parametros.Count;
            if (CHAuto.Checked == true)
            {
                s = s + llave.nombre;
                if (n > 0)
                {
                    s = s + ",";
                }
            }
            for (i = 0; i < n; i++)
            {
                if (i > 0)
                {
                    s = s + ",";
                }
                Objetos.CParametro Parametro = Parametros[i];
                s = s + Parametro.nombre;
            }
            s = s + ")\r\n";
            s = s + "\tvalues(";
            if (CHAuto.Checked == true)
            {
                s = s + "@" + llave.nombre;
                if (n > 0)
                {
                    s = s + ",";
                }
            }
            for (i = 0; i < n; i++)
            {
                if (i > 0)
                {
                    s = s + ",";
                }
                Objetos.CParametro Parametro = Parametros[i];
                s = s + "@" + Parametro.nombre;
            }
            s = s + ")\r\n";
            s = s + "end\r\n";
            if (OnCodigo != null)
            {
                OnCodigo(textBox1.Text, s);
            }
        }
예제 #27
0
        private void Eliminar()
        {
            string s = "create procedure " + this.Nombre + "(";

            //obtengo los parametros
            System.Collections.Generic.List <Objetos.CParametro> llaves = DB.DameLLavesPrimarias(this.NombreTabla);
            int i, n = llaves.Count;

            for (i = 0; i < n; i++)
            {
                Objetos.CParametro pa = llaves[i];
                if (i > 0)
                {
                    s = s + ",";
                }
                s = s + "@" + pa.nombre + " " + pa.TipoSP;
            }
            s = s + ") as\r\n";
            s = s + "begin\r\n";
            s = s + "\t--procedimiento almacenado que borra un registro de la tabla " + this.NombreTabla + " \r\n";
            //------------------------------------------------------------------------
            if (ComboForanes.CheckedItems.Count > 0)
            {
                //hay llaves foraneas, por lo que checo si hay que comprobar la integridad
                System.Collections.Generic.List <Objetos.CLLaveForanea> Fks = new System.Collections.Generic.List <Objetos.CLLaveForanea>();
                n = ComboForanes.CheckedIndices.Count;
                for (i = 0; i < n; i++)
                {
                    //creo la lista de llaves foraneas que hay que checar
                    Fks.Add(Foraneas[ComboForanes.CheckedIndices[i]]);
                }
                n = Fks.Count;
                for (i = 0; i < n; i++)
                {
                    Objetos.CLLaveForanea fk = Fks[i];
                    System.Collections.Generic.List <Objetos.CCampoFK> lista = DB.DameCamposFK(fk.id);
                    int j, k;
                    k = lista.Count;
                    Objetos.CCampoFK cfk = null;
                    if (fk.Eliminar == false)
                    {
                        for (j = 0; j < k; j++)
                        {
                            cfk = lista[j];
                            if (j == 0)
                            {
                                if (fk.Comentarios.Trim() == "")
                                {
                                    s = s + "\t--Verifico la existencia de registros en la tabla " + cfk.hija + "\r\n";
                                }
                                else
                                {
                                    s = s + "\t--" + fk.Comentarios + "\r\n";
                                }
                                s = s + "\tif exists( select * from " + cfk.hija + " where " + cfk.columnaMaestra + "=@" + cfk.columnahija;
                            }
                            else
                            {
                                s = s + " and " + cfk.columnaMaestra + "=@" + cfk.columnahija;
                            };
                        }
                        s = s + ")\r\n";
                        s = s + "\tbegin\r\n";
                        s = s + "\t\t--Genero un error \r\n";
                        s = s + "\t\tRAISERROR (\'" + fk.Mensage + "\', 16, 1) \r\n";
                        s = s + "\t\treturn \r\n";
                        s = s + "\tend\r\n";
                    }
                    else
                    {
                        // hay que eliniar la tabla hija
                        for (j = 0; j < k; j++)
                        {
                            cfk = lista[j];
                            if (j == 0)
                            {
                                if (fk.Comentarios.Trim() == "")
                                {
                                    s = s + "\t--Elimino la tabla " + cfk.hija + "\r\n";
                                }
                                else
                                {
                                    s = s + "\t--" + fk.Comentarios + "\r\n";
                                }

                                s = s + "\tdelete  " + cfk.hija + " where " + cfk.columnaMaestra + "=@" + cfk.columnahija;
                            }
                            else
                            {
                                s = s + " and " + cfk.columnaMaestra + "=@" + cfk.columnahija;
                            }
                        }
                        s = s + "\r\n";
                    }
                }
            }
            //--------------------------------------------------------------------------------
            s = s + "\t-- agregar el codigo para las comprobaciones adicionales aqui\r\n";
            s = s + "\t-- Elimino la tbala " + NombreTabla + " \r\n";
            s = s + "\tdelete " + NombreTabla + " where ";
            n = llaves.Count;
            for (i = 0; i < n; i++)
            {
                Objetos.CParametro pa = llaves[i];
                if (i > 0)
                {
                    s = s + " and ";
                }
                s = s + pa.nombre + "=@" + pa.nombre;
            }
            s = s + "\r\nend\r\n";
            if (OnCodigo != null)
            {
                OnCodigo(textBox1.Text, s);
            }
        }
예제 #28
0
        private void Actualizar()
        {
            System.Collections.Generic.List <Objetos.CParametro> campos;
            campos = DB.DameCamposTabla(this.NombreTabla);
            System.Collections.Generic.List <Objetos.CParametro> llaves = DB.DameLLavesPrimarias(this.NombreTabla);
            int i, n;

            //genero la lista de parametros
            System.Collections.Generic.List <Objetos.CParametro> camposParametro = new List <Visor_sql_2005.Objetos.CParametro>();
            //lo primero que agrego, son los campos llave que requiero
            foreach (Objetos.CParametro p in llaves)
            {
                camposParametro.Add(p);
            }
            //ahora agrego los demas campos que me dio el usuario
            foreach (Objetos.CParametro p2 in Parametros)
            {
                //checo si esta en la lista de parametros
                bool esta = false;
                foreach (Objetos.CParametro p3 in camposParametro)
                {
                    if (p3.nombre == p2.nombre)
                    {
                        esta = true;
                        break;
                    }
                }
                if (esta == false)
                {
                    camposParametro.Add(p2);
                }
            }

            string s = "create procedure " + Nombre + "(";

            n = camposParametro.Count;
            //agrego los campos de la tabla (todos)
            for (i = 0; i < n; i++)
            {
                if (i > 0)
                {
                    s = s + ",";
                }
                Objetos.CParametro Parametro = camposParametro[i];
                s = s + "@" + Parametro.nombre + " " + Parametro.TipoSP;
            }
            s = s + ") as\r\n";
            s = s + "begin\r\n";
            s = s + "\t--procedimiento almacenado que modifica un registro a la tabla " + NombreTabla + " \r\n";
            if (ComboForanes.CheckedItems.Count > 0)
            {
                //hay llaves foraneas, por lo que checo si hay que comprobar la integridad
                System.Collections.Generic.List <Objetos.CLLaveForanea> Fks = new System.Collections.Generic.List <Objetos.CLLaveForanea>();
                n = ComboForanes.CheckedIndices.Count;
                for (i = 0; i < n; i++)
                {
                    //creo la lista de llaves foraneas que hay que checar
                    Fks.Add(Foraneas[ComboForanes.CheckedIndices[i]]);
                }
                n = Fks.Count;
                for (i = 0; i < n; i++)
                {
                    Objetos.CLLaveForanea fk = Fks[i];
                    System.Collections.Generic.List <Objetos.CCampoFK> lista = DB.DameCamposFK(fk.id);
                    int j, k;
                    k = lista.Count;
                    Objetos.CCampoFK cfk = null;
                    if (fk.Comentarios.Trim() != "")
                    {
                        s = s + "\t--" + fk.Comentarios + "\r\n";
                    }
                    for (j = 0; j < k; j++)
                    {
                        cfk = lista[j];
                        if (j == 0)
                        {
                            s = s + "\tif not exists( select * from " + cfk.maestra + " where " + cfk.columnaMaestra + "=@" + cfk.columnahija;
                        }
                        else
                        {
                            s = s + " and " + cfk.columnaMaestra + "=@" + cfk.columnahija;
                        };
                    }
                    s = s + ")\r\n";
                    s = s + "\tbegin\r\n";
                    s = s + "\t\t--no se ncontro el campo de la llave foranea \r\n";
                    s = s + "\t\t--por lo que genero una ecepcion \r\n";
                    s = s + "\t\tRAISERROR ('" + fk.Mensage + "', 16, 1) \r\n";
                    s = s + "\t\treturn \r\n";
                    s = s + "\tend\r\n";
                }
            }
            s = s + "\t --agregar el codigo adicional aqui\r\n";
            s = s + "\tupdate  " + NombreTabla + " set ";
            n = Parametros.Count;
            for (i = 0; i < n; i++)
            {
                if (i > 0)
                {
                    s = s + ",";
                }
                Objetos.CParametro Parametro = Parametros[i];
                s = s + Parametro.nombre + "=@" + Parametro.nombre;
            }
            s = s + " where ";
            n = LLaves.Count;
            for (i = 0; i < n; i++)
            {
                if (i > 0)
                {
                    s = s + " and ";
                }
                Objetos.CParametro llave = this.LLaves[i];
                s = s + llave.nombre + "=@" + llave.nombre;
            }
            s = s + "\r\nend\r\n";
            if (OnCodigo != null)
            {
                OnCodigo(textBox1.Text, s);
            }
        }
예제 #29
0
        private void BGenerar_Click(object sender, System.EventArgs e)
        {
            //genera el codido del data grd
            string s;
            int    i, n;

            s = Seguridad + "void " + this.TFuncion.Text + "()\r\n";
            s = s + "{\r\n";
            s = s + "\tDataSet ds = new DataSet();\r\n";
            s = s + "\tDataTable dt = new DataTable(\"Tabla\");\r\n";
            s = s + "\t//Creando las columnas y agregando los items a la tabla\r\n";
            n = Campos.Count;
            for (i = 0; i < n; i++)
            {
                Objetos.CParametro parametro = Campos[i];
                s = s + "\tDataColumn dc" + parametro.tipo + "= new DataColumn(\"" + parametro.tipo + "\");\r\n";
            }
            s = s + "\t//Asignando los campos ala tabla\r\n";
            for (i = 0; i < n; i++)
            {
                Objetos.CParametro parametro = Campos[i];
                s = s + "\tdt.Columns.Add(dc" + parametro.tipo + ");\r\n";
            }
            s = s + "\t//agregarndo la tabla al data set\r\n";
            s = s + "\tds.Tables.Add(dt);\r\n";
            s = s + "\t//llenando la tabla con datos\r\n";
            s = s + "\tint i,n;\r\n";
            s = s + "\tn=" + this.TLista.Text + ".Count;\r\n";
            s = s + "\tfor(i=0;i< n;i++)\r\n";
            s = s + "\t{\r\n";
            s = s + "\t\t" + this.TObjeto.Text + " dato=(" + this.TObjeto.Text + ")" + this.TLista.Text + "[i];\r\n";
            s = s + "\t\tDataRow drRow = dt.NewRow();\r\n";
            for (i = 0; i < n; i++)
            {
                Objetos.CParametro parametro = Campos[i];
                s = s + "\t\tdrRow[\"" + parametro.tipo + "\"]=dato." + parametro.tipo + ";\r\n";
            }

            s = s + "\t\tdt.Rows.Add(drRow);\r\n";
            s = s + "\t}\r\n";
            s = s + "\t" + TDataGrid.Text + ".DataSource = ds.Tables[0];\r\n";
            s = s + "\tDataGridTableStyle ts = new DataGridTableStyle();\r\n";
            s = s + "\tts.AllowSorting=false;\r\n";
            s = s + "\tts.MappingName =\"Tabla\";\r\n";
            s = s + "\t//creando las columnas que se van a ver\r\n";
            for (i = 0; i < n; i++)
            {
                Objetos.CParametro parametro = Campos[i];
                s = s + "\t//------------------" + parametro.nombre + "---------------------------------------- \r\n";
                if (CheckOnPaint.Checked == true)
                {
                    s = s + "\tCustomDataGridTextBoxColumn " + parametro.tipo + "= new CustomDataGridTextBoxColumn();\r\n";
                    s = s + "\t" + parametro.tipo + ".PaintRow+=new DPaintRow(" + TOnPaint.Text + ");//evento para onpaint\r\n";
                }
                else
                {
                    s = s + "\tDataGridColumnStyle " + parametro.tipo + "= new DataGridTextBoxColumn();\r\n";
                }
                s = s + "\t" + parametro.tipo + ".MappingName = \"" + parametro.tipo + "\";\r\n";
                s = s + "\t" + parametro.tipo + ".HeaderText = \"" + parametro.nombre + "\";\r\n";
                int tam = parametro.Logitud;
                s = s + "\t" + parametro.tipo + ".Width=" + tam.ToString() + ";\r\n";
                s = s + "\t" + parametro.tipo + ".ReadOnly=true;\r\n";
                s = s + "\tts.GridColumnStyles.Add(" + parametro.tipo + ");\r\n";
            }
            s = s + "\t//finalizando la creacion del data grid\r\n";
            s = s + "\tts.MappingName =\"Tabla\";\r\n";
            s = s + "\t" + TDataGrid.Text + ".TableStyles.Clear();\r\n";
            s = s + "\t" + TDataGrid.Text + ".TableStyles.Add(ts);\r\n";
            s = s + "\t" + TDataGrid.Text + ".AllowSorting=false;\r\n";
            s = s + "} \r\n";
            if (CheckOnPaint.Checked == true)
            {
                s = s + "//evento para on paint\r\n";
                s = s + "private void " + TOnPaint.Text + "(PaintRowEventArgs args )\r\n";
                s = s + "{\r\n";
                s = s + "\t//poner el codigo para cambiar el color aqui\r\n";
                s = s + "\t//ejemplo\r\n";
                s = s + "\targs.BackColor=Brushes.GreenYellow;//todo es verde con amarillo\r\n";
                s = s + "}\r\n";
            }
            if (OnCodigo != null)
            {
                OnCodigo("", s);
            }
            //FormVerClase dlg = new FormVerClase();
            //dlg.Texto=s;
            //dlg.ShowDialog();
        }
예제 #30
0
        private void LeerLinea()
        {
            bool nullrow = true;

            row++;
            FilaXLS obj = new FilaXLS();
            //creo el comando para subir el campo a la base de datos
            string s = "";
            string s1 = "insert into " + TTablaDestino.Text + "(";
            int    i, n;

            n = ListaCamposDestino2.Items.Count;
            bool primero = true;

            s       = s + ") values(";
            primero = true;
            bool hayDatos = false;

            //recorre todos los campos
            for (int col = 0; col < ListaCamposOrigen2.Items.Count; col++)
            {
                Objetos.CParametro obj2 = (Objetos.CParametro)ListaCamposDestino2.Items[col];
                if (primero == true)
                {
                    primero = false;
                }
                else
                {
                    s1 = s1 + ",";
                    s  = s + ",";
                }
                //Objetos.CParametro obj2 = (Objetos.CParametro)ListaCamposDestino2.Items[col];
                s1 = s1 + obj2.nombre;
                //lectura del registro de excel
                CColumna cc = (CColumna)ListaCamposOrigen2.Items[col];
                string   cell;
                char     cy = ' ';
                char     cx = ((char)(65 + col)).ToString()[0];
                if (cx > 'Z')
                {
                    cy = (char)(64 + (int)col / (int)26);
                    cx = (char)((int)cx - (int)'Z' + 64);
                }
                cell  = cy.ToString().Trim() + cx.ToString();
                cell += row;
                try
                {
                    cc.Columna = cell;
                    if (Hoja.get_Range(cell, cell).Text != null)
                    {
                        cell = (string)Hoja.get_Range(cell, cell).Text;
                    }
                    else
                    {
                        cell = "";
                    }
                }
                catch (System.Exception)
                {
                    break;
                }
                if (cell != "")
                {
                    try
                    {
                        cc.Nombre  = cell;
                        obj.v[col] = cell;
                        nullrow    = false;
                    }
                    catch (Exception)
                    {
                        obj.v[col - 1] = "";
                    }
                }
                //termino de agregar los datos del campo de la consulta
                if (obj.v[col] == null)
                {
                    obj.v[col] = "";
                }
                if (obj.v[col].Length > obj2.Logitud && obj2.Logitud >= 0)
                {
                    s = s + "\'" + obj.v[col].Substring(0, obj2.Logitud).Replace('\'', ' ') + "\'";
                }
                else
                {
                    s = s + "\'" + obj.v[col].Replace('\'', ' ') + "\'";
                }
                if (obj.v[col] != "")
                {
                    hayDatos = true;
                }
            }
            if (!nullrow)
            {
                //aqui tengo el registro de exel
                s = s1 + s + ")";
                if (hayDatos == false)
                {
                    //timer1.Enabled = false;
                    status                = 2;
                    row                   = Comandos.Count;
                    BProgreso.Progreso    = 0;
                    BProgreso.ValorMaximo = row;
                    xlLibro.Close(false, Missing.Value, Missing.Value);
                    xlApp.Quit();
                    return;
                }
                else
                {
                    try
                    {
                        BProgreso.Texto = Comandos.Count + " Registros leídos";//row.ToString() + " Registros leídos";
                        Comandos.Add(s);
                    }
                    catch (System.Exception ex)
                    {
                        Errores = Errores + "\n" + ex;;
                    }
                }
            }
            else
            {
                status             = 2;
                row                = Comandos.Count;
                BProgreso.Progreso = 0;
                if (row > 0)
                {
                    BProgreso.ValorMaximo = row;
                }
                xlLibro.Close(false, Missing.Value, Missing.Value);
                xlApp.Quit();
            }
            nullrow = false;
        }