private void MuestraCasos() { if (Casos == null) { return; } DataSet ds = new DataSet(); DataTable dt = new DataTable("Tabla"); //Creando las columnas y agregando los items a la tabla DataColumn dcWhen = new DataColumn("When"); DataColumn dcDhen = new DataColumn("Dhen"); //Asignando los campos ala tabla dt.Columns.Add(dcWhen); dt.Columns.Add(dcDhen); //agregarndo la tabla al data set ds.Tables.Add(dt); //llenando la tabla con datos int i, n; n = Casos.Count; for (i = 0; i < n; i++) { Objetos.CCaso dato = (Objetos.CCaso)Casos[i]; DataRow drRow = dt.NewRow(); drRow["When"] = dato.When; drRow["Dhen"] = dato.Dhen; dt.Rows.Add(drRow); } dataGrid1.DataSource = ds.Tables[0]; DataGridTableStyle ts = new DataGridTableStyle(); ts.AllowSorting = false; ts.MappingName = "Tabla"; //creando las columnas que se van a ver //------------------When---------------------------------------- DataGridColumnStyle When = new DataGridTextBoxColumn(); When.MappingName = "When"; When.HeaderText = "When"; When.Width = 100; When.ReadOnly = true; ts.GridColumnStyles.Add(When); //------------------Dhen---------------------------------------- DataGridColumnStyle Dhen = new DataGridTextBoxColumn(); Dhen.MappingName = "Dhen"; Dhen.HeaderText = "Dhen"; Dhen.Width = 100; Dhen.ReadOnly = true; ts.GridColumnStyles.Add(Dhen); //finalizando la creacion del data grid ts.MappingName = "Tabla"; dataGrid1.TableStyles.Clear(); dataGrid1.TableStyles.Add(ts); dataGrid1.AllowSorting = false; }
public override void BSiguiente() { //aqui se genera el codigo para crear el SP bool Agrupar = false; bool noagrupados = false; bool primero = true; string excepcion; FCodigo = ""; richTextBox1.Text = ""; string s = "CREATE PROCEDURE " + SP; if (Parametros.Count > 0) { //agrego los parametros al SP s = s + "("; foreach (Objetos.CParametro obj in Parametros) { if (primero == true) { primero = false; } else { s = s + ","; } s = s + "@" + obj.nombre + " " + obj.TipoSP; } s = s + ") as"; } else { s = s + " as"; } //AddLine(s); AgregaLinea(s); AgregaLinea("begin"); //agrego los comentarios del sp string comentario = (string)DameValor("ComentarioNombreSP"); string cmt = ""; int ni, nn; nn = comentario.Length; for (ni = 0; ni < nn; ni++) { if (comentario[ni] == '\n' || comentario[ni] == '\r') { //se encontro un comentario if (cmt.Trim() != "") { s = "\t--" + cmt.Trim(); AgregaLinea(s); cmt = ""; } } else { cmt = cmt + comentario[ni]; } } if (cmt.Trim() != "") { s = "\t--" + cmt; AgregaLinea(s); } //veo si los parametros cuentan con comentarios if (Parametros.Count > 0) { //agrego los parametros al SP foreach (Objetos.CParametro obj in Parametros) { if (obj.Descripcion != null && obj.Descripcion.Trim() != "") { s = "\t--@" + obj.nombre + "\t" + obj.Descripcion; AgregaLinea(s); } } } //verifico si hay que generar una excepcion si no se encuentran registros bool GenerarExcepcio = (bool)DameValor("CHExcepcionParametros"); if (GenerarExcepcio == true) { //muestro el comentario de la excepcion comentario = (string)DameValor("ComentariosParametros"); if (comentario.Trim() != "") { s = "\t--" + comentario; AgregaLinea(s); } //genero la consulta s = "\tif not exists( select * from " + Tabla; //recorro los paramertos para generar la consulta if (Parametros.Count > 0) { s = s + " where "; primero = true; //agrego los parametros al SP foreach (Objetos.CParametro obj in Parametros) { if (primero == true) { primero = false; } else { s = s + " and "; } if (obj.Filtro == Objetos.TIPO_FILTRO.LIKE) { s = s + obj.nombre + obj.SFiltro + "@" + obj.nombre + "+\'%\'"; } else { s = s + obj.nombre + obj.SFiltro + "@" + obj.nombre; } } } s = s + ")"; AgregaLinea(s); AgregaLinea("\tbegin"); excepcion = (string )DameValor("ExcepcionParametros"); s = "\t\tRAISERROR(\'" + excepcion + "\', 16, 1)"; AgregaLinea(s); AgregaLinea("\t\treturn"); AgregaLinea("\tend"); } //genero la consulta //pongo los campos que se van a regresar s = "\tselect"; //verifico si esta activada la opcion de distinct bool distinct = (bool)DameValor("ActivarDistinct"); if (distinct == true) { s = s + " distinct"; } //verifico si esta activada la opcion de top bool top = (bool)DameValor("AtcivarTop"); if (top == true) { s = s + " top " + DameValor("Top"); } AgregaLinea(s); primero = true; foreach (Objetos.CParametro obj in Campos) { s = "\t\t"; if (primero == true) { primero = false; } else { s = s + ","; } //verifico si hay que hacer una sumatoria if (obj.Sum == true) { Agrupar = true; s = s + "sum(" + obj.nombre + ")"; //veo si se le asigno un alias if (obj.Alias.Trim() != "") { //le asigno el alias s = s + " as " + obj.Alias; } else { //como no tiene, le asigno el mismo nombre del campos s = s + " as " + obj.nombre; } } else if (obj.EnableCase == true) { noagrupados = true; //tiene asignado casos s = s + "case " + obj.nombre; //recorro todos loscasos Objetos.CCaso objcdefault = null; foreach (Objetos.CCaso objc in obj.Casos) { if (objc.When == "default") { objcdefault = objc; } else { s = s + " when " + objc.When + " then " + objc.Dhen; } } if (objcdefault != null) { //tiene asignado el valor default s = s + " else " + objcdefault.Dhen; } s = s + " end"; //veo si se le asigno un alias if (obj.Alias.Trim() != "") { //le asigno el alias s = s + " as " + obj.Alias; } else { //como no tiene, le asigno el mismo nombre del campos s = s + " as " + obj.nombre; } } else { noagrupados = true; //no se sumaliza s = s + obj.nombre; //veo si se le asigno un alias if (obj.Alias != null && obj.Alias.Trim() != "") { //le asigno el alias s = s + " as " + obj.Alias; } } if (obj.Descripcion != null && obj.Descripcion.Trim() != "") { s = s + "--" + obj.Descripcion; } AgregaLinea(s); } AgregaLinea("\tfrom "); AgregaLinea("\t\t" + Tabla); //recorro los paramertos para generar la consulta if (Parametros.Count > 0) { AgregaLinea("\twhere "); primero = true; //agrego los parametros al SP foreach (Objetos.CParametro obj in Parametros) { s = "\t\t"; if (primero == true) { primero = false; } else { s = s + " and "; } if (obj.Filtro == Objetos.TIPO_FILTRO.LIKE) { s = s + obj.nombre + obj.SFiltro + "@" + obj.nombre + "+\'%\'"; } else { s = s + obj.nombre + obj.SFiltro + "@" + obj.nombre; } AgregaLinea(s); } } //veo si hay que agrupar los campos if (Agrupar == true && noagrupados == true) { AgregaLinea("\tgroup by"); //recorro todos los campos primero = true; foreach (Objetos.CParametro obj in Campos) { s = "\t\t"; if (primero == true) { primero = false; } else { s = s + ","; } if (obj.Sum == false) { s = s + obj.nombre; AgregaLinea(s); } } } //veo si hay que ordenar List <Objetos.CParametro> CamposOrdenamiento = (List <Objetos.CParametro>)DameValor("CamposOrdenamiento"); if (CamposOrdenamiento.Count > 0) { //si hay que ordenar AgregaLinea("\torder by"); primero = true; foreach (Objetos.CParametro objo in CamposOrdenamiento) { s = "\t\t"; if (primero == true) { primero = false; } else { s = s + ","; } s = s + objo.nombre; if (objo.Descendente == true) { s = s + " desc"; } AgregaLinea(s); } } AgregaLinea("end"); cTextColor1.AnalizaTexto(); CodigoSP(SP, richTextBox1.Text); CloseEvent(); }