C# 另一种从数据库中获取数据的方法(使用datareader),但它所用的时间与另一种方法完全相同。 //WHEN THE TEXT FROM TEXTBOX CHANGES: protected void TextDate_TextChan

C# 另一种从数据库中获取数据的方法(使用datareader),但它所用的时间与另一种方法完全相同。 //WHEN THE TEXT FROM TEXTBOX CHANGES: protected void TextDate_TextChan,c#,asp.net,sql-server,gridview,C#,Asp.net,Sql Server,Gridview,另一种从数据库中获取数据的方法(使用datareader),但它所用的时间与另一种方法完全相同。 //WHEN THE TEXT FROM TEXTBOX CHANGES: protected void TextDate_TextChanged(object sender, EventArgs e) { //THE GRIDVIEW IS CREATED: GridView1.DataSourceID = Dato

另一种从数据库中获取数据的方法(使用datareader),但它所用的时间与另一种方法完全相同。
 //WHEN THE TEXT FROM TEXTBOX CHANGES:
        protected void TextDate_TextChanged(object sender, EventArgs e)
        {
            //THE GRIDVIEW IS CREATED:
            GridView1.DataSourceID = DatosLunes.ID;
            GridView1.DataBind();

            //A) I CREATE VARIABLES TO CHARGE THE DATA THAT CAMES FROM THE DATABASE WHEN PROCEED WITH THE QUERY
            string VarsDateGV;
            string VarsStartGV;
            string VarsScchkGV;
            string VarsEndGV;
            string VarsDurationGV;
            string VarsBeforeGV;
            string VarsAfterGV;

            //B) FOREACH ROW, THE PROCESS START TO:
            foreach (GridViewRow row in GridView1.Rows)
            {
                //B.1) IDENTIFY EACH CONTROL INTO ROW COLUMNS:
                TextBox DateGV = row.FindControl("DateGV") as TextBox;
                TextBox StartGV = row.FindControl("StartGV") as TextBox;
                TextBox ScchkGV = row.FindControl("ScchkGV") as TextBox;
                TextBox EndGV = row.FindControl("EndGV") as TextBox;
                TextBox DurationGV = row.FindControl("DurationGV") as TextBox;
                HiddenField DedicatedGV = row.FindControl("DedicatedGV") as HiddenField;
                HiddenField NotDedicatedGV = row.FindControl("NotDedicatedGV") as HiddenField;
                DropDownList DropDownGV = row.FindControl("DropDownGV") as DropDownList;
                TextBox BeforeGV = row.FindControl("BeforeGV") as TextBox;
                TextBox AfterGV = row.FindControl("AfterGV") as TextBox;
                DateTime FechaCT1 = DateTime.Parse(TextDate.Text, CultureInfo.InvariantCulture);

                //B.2) IF THE [4] COLUMN STRING IS EQUAL TO "BATCH", THE ROW IS PAINTED
                if (row.RowType == DataControlRowType.DataRow)
                {
                    string NombreBatch = row.Cells[4].Text;

                    if (NombreBatch == "BATCH")
                    {
                        row.BackColor = System.Drawing.Color.NavajoWhite;
                    }
                }

                //B.3) THE QUERY STARTS
                if (row.RowType == DataControlRowType.DataRow)
                {
                    // B.3.1) EXTRACTS THE ROW ID FROM [0] COLUMN
                    string IDBatch = row.Cells[0].Text;

                    //B.3.2) USE A DATATABLE TO CHARGE DATA FROM THE QUERY "TRAEFILAHO"
                    CADCATOPS.DSCATOPS.BatchDatos1DataTable Fila = CADCATOPS.CADBatchHandoff.TraeFilaHO(Convert.ToInt32(IDBatch), Convert.ToString(FechaCT1));

                    //B.3.3) FOREACH ROW IN THE DATATABLE, THE DB INFORMATION IS SAVED INTO THE VARIABLES CREATED BEFORE (IN THE "A" ITEM).
                    foreach (DataRow row1 in Fila.Rows)
                    {
                        VarsDateGV = row1["FechaBatch"].ToString();
                        VarsStartGV = row1["Inicio"].ToString();
                        VarsScchkGV = row1["FinDedicado"].ToString();
                        VarsEndGV = row1["FinNoDedicado"].ToString();
                        VarsDurationGV = row1["DuracionBatch"].ToString();
                        DropDownGV.Text = row1["Estado"].ToString();
                        VarsBeforeGV = row1["DuracionBefore"].ToString();
                        VarsAfterGV = row1["DuracionAfter"].ToString();

                        /********* FROM NOW ON:
                         B.3.3.1) I VALIDATE IF THE DATETIME DATA EXTRACTED FROM THE DB EXISTS FOR A FEW ITEMS. IF EXISTS, THE FORMAT IS CHANGED FOR MY NEEDS, AND PRINTED.

                         MAYBE YOU ARE ASKING WHY I VALIDATE IT FOR SEPARATED AND NOT ALL TOGETHER, THIS IS BECAUSE I NEED TO CHECK IT SEPARATELLY. 
                         IF "THIS" DATA DOESN'T EXISTS, DON'T BRING IT TO THE GRIDVIEW, BUT IF "THIS OTHER" DATA EXISTS, I NEED TO SHOW IT.
                         *********/
                        if (VarsDateGV != "")
                        {
                            DateTime VardDateGV = DateTime.Parse(VarsDateGV, CultureInfo.InvariantCulture);
                            DateTime VardStartGV = DateTime.Parse(VarsStartGV);
                            DateGV.Text = VardDateGV.ToString("MM/dd/yyyy");
                            StartGV.Text = VardStartGV.ToString("HH:mm");
                        }

                        if (VarsEndGV != "")
                        {
                            DateTime VardEndGV = DateTime.Parse(VarsEndGV);
                            DateTime VardDurationGV = DateTime.Parse(VarsDurationGV);
                            EndGV.Text = VardEndGV.ToString("HH:mm");
                            DurationGV.Text = VardDurationGV.ToString("HH:mm");
                        }

                        if (VarsScchkGV != "")
                        {
                            DateTime VardScchkGV = DateTime.Parse(VarsScchkGV);
                            ScchkGV.Text = VardScchkGV.ToString("HH:mm");
                        }

                        if (VarsBeforeGV != "")
                        {
                            DateTime VardBeforeGV = DateTime.Parse(VarsBeforeGV);
                            BeforeGV.Text = VardBeforeGV.ToString("HH:mm");
                        }

                        if (VarsAfterGV != "")
                        {
                            DateTime VardAfterGV = DateTime.Parse(VarsAfterGV);
                            AfterGV.Text = VardAfterGV.ToString("HH:mm");
                        }
                    }
                }
            } //FOREACH LOOP IS COMPLETED.
        }
protected void TextDate_TextChanged(object sender, EventArgs e)
{
    ...

    CADCATOPS.DSCATOPS.BatchDatos1DataTable AllFila = CADCATOPS.CADBatchHandoff.AllTraeFilaHO(Convert.ToString(FechaCT1));
    AllFila.PrimaryKey = new DataColumn[] { AllFila.Columns["IDBatch"] };

    foreach (GridViewRow row in GridView1.Rows)
    {
        ....
        if (row.RowType == DataControlRowType.DataRow)
        {
            string IDBatch = row.Cells[0].Text;
            DataRow foundRow = AllFila.Rows.Find(IDBatch);
            ...
        }
    }
}
<asp:TextBox ID="DateGV" runat="server" Text='<%# Eval("FechaBatch", "{0:MM/dd/yyyy}") %>' ... />
<asp:TextBox ID="StartGV" runat="server" Text='<%# Eval("Inicio", "{0:HH:mm}") %>' ... />