コード例 #1
0
        //Carga pagina
        protected void Page_Load(object sender, System.EventArgs e)
        {
            if (!IsPostBack)
            {
                if (!Request.QueryString["Params"].ToString().Contains("SELECT") && Request.QueryString["Params"] != null &&
                    !Request.QueryString["Params"].Contains("**"))
                {
                    if (Request.QueryString["Vals"] != null)
                    {
                        Response.Write("<script language='javascript'></script>");
                    }
                }
                if (Request.QueryString["orden"] != null)
                {
                }
                if (Request.QueryString["Reg"] == "1")
                {
                    Response.Write("<script language='javascript'>alert('Registro actualizado.');</script>");
                    return;
                }
                else if (Request.QueryString["Reg"] == "0")
                {
                    Response.Write("<script language='javascript'>alert('No se pudo actualizar el registro.');</script>");
                }
                else if (!Request.QueryString["Params"].ToString().Contains("SELECT") && Request.QueryString["Params"] != null && !Request.QueryString["Params"].Contains("**"))
                {
                    string[] datos = Request.QueryString["Params"].Split('*');
                    string   tabla = datos[1];
                    string   pk    = datos[2].Trim();
                    DataSet  dsFK  = new DataSet();
                    DBFunctions.Request(dsFK, IncludeSchema.NO, "SELECT COLNAME FROM SYSCAT.COLUMNS WHERE  TABNAME = '" + tabla + "' AND KEYSEQ = 1;");
                    string llave = dsFK.Tables[0].Rows[0]["COLNAME"].ToString().Trim();
                    string fks   = llave + "!" + pk;
                    //Response.Redirect(indexPage + "?process=DBManager.Inserts&table=" + tabla + "&action=insert&sql=" + Request.QueryString["params"] + "&processTitle=INSERTAR&fks=" + fks + "&modal=1");
                    Response.Redirect(indexPage + "?process=DBManager.Inserts&table=" + tabla + "&action=insert&sql=" + Request.QueryString["params"] + " & processTitle=INSERTAR&fks=" + fks + " & processTitle=INSERTAR&path=" + Request.QueryString["path"] + "&modal=1");
                }

                BindDatas();

                if (Request.QueryString["valor"] != null)
                {
                    tbWord.Text = Request.QueryString["valor"].ToString();
                }

                if (Request.QueryString["Ins"] == null)
                {
                    btInserta.Visible = false;
                }
                if (Request.QueryString["params"] != null)
                {
                    string[] sp;
                    if (Request.QueryString["params"].Contains("**"))
                    {
                        string opcion = Request.QueryString["params"].Replace("**", "");
                        string sql    = DB.SQLConsultaGlobal.Buscar(opcion);
                        sp = sql.Split(' ');
                    }
                    else
                    {
                        sp = Request.QueryString["params"].Split(' ');
                    }
                    string table = "";

                    for (i = 0; i < sp.Length; i++)
                    {
                        if (sp[i].ToUpper() == "FROM")
                        {
                            table = sp[i + 1];
                            table = table.ToUpper().Replace("DBXSCHEMA.", "");
                            if (table == "VMNIT")
                            {
                                table = "MNIT";
                            }
                            if (table != "MNIT" && table != "MITEMS" && table != "MNITCOTIZACION")
                            {
                                LimpiarCache(sender, e);
                            }
                            insTabla.Text = table;
                            break;
                        }
                    }
                    ArrayList cols = new ArrayList();
                    try
                    {
                        //ds.Tables[0].Columns[i].DataType.ToString() == "System.Int32". En algunos casos la pk datatype no es un string
                        //Entonces se agrega en la condición para que también pueda recibir enteros.. y poder llenar el ddl en cuestión :)
                        for (i = 0; i < ds.Tables[0].Columns.Count; i++)
                        {
                            if (ds.Tables[0].Columns[i].DataType.ToString() == "System.String" || ds.Tables[0].Columns[i].DataType.ToString() == "System.Int32")
                            {
                                cols.Add(ds.Tables[0].Columns[i].ColumnName);
                            }
                        }
                        ddlCols.DataSource = cols;
                        ddlCols.DataBind();
                    }
                    catch (Exception ex)
                    {
                        Response.Write("Select: " + Request.QueryString["params"] + "<BR>");
                        Response.Write("Erro: " + ex.InnerException + "<BR>" + ex.Message + "<BR>" + ex.StackTrace + "<BR>");
                    }
                }
                else
                {
                    DatasToControls bind = new DatasToControls("mitems");
                    bind.PutTableIntoDataGridWF(dgTable, "mite_codigo", "mite_nombre", "puni_codigo");
                }
            }
        }