kumartyr
kumartyr

Reputation: 305

Write data to textbox row by row from database

i want to display data from database row by row in table

enter image description here

how to write data from database to each textbox row wise

(i.e) date activity1,activity2 etc then next row date activity1,activyt2 etc.. how to write proper loop

The code i have tried for getting data for first row:

private void GetActivity()
    {
        try
        {
            CON = new OracleConnection(Connection);
            CON.Open();
            OracleCommand COMMAND1 = new OracleCommand("Select ACTIVITYID,to_char(ACTIVITYDATE,'DD-MON-YYYY') as ACTIVITYDATE,TITLE,STARTTIME,ENDTIME,ACTIVITYTIME as TIMETAKEN from DAILY_ACTIVITIES1 where ACTIVITYDATE= (Select min(ACTIVITYDATE) from DAILY_ACTIVITIES1)", CON);

            OracleDataReader READER = COMMAND1.ExecuteReader();            
            int count = READER.FieldCount;

            if (READER.HasRows)
            {
                while (READER.Read())
                {
                    if (Date1TextBox.Text == "")
                    {
                        Date1TextBox.Text = READER[1].ToString();
                        Date1TextBox.Enabled = false;
                    }

                    if (D1A1TextBox.Text == "")
                    {
                        D1A1TextBox.Text = "Title:" + READER[2].ToString() + "\n";
                        D1A1TextBox.Text += "Start-time:" + READER[3].ToString() + "\n";
                        D1A1TextBox.Text += "End-time:" + READER[4].ToString() + "\n";
                        D1A1TextBox.Text += "Timetaken:" + READER[5].ToString() + "\n";
                        D1A1TextBox.Enabled = false;
                    }
                    else
                    {
                        D1A1TextBox.Enabled = false;
                    }

                    if (D1A2TextBox.Text == "")
                    {
                        D1A2TextBox.Text = "Title:" + READER[2].ToString() + "\n";
                        D1A2TextBox.Text += "Start-time:" + READER[3].ToString() + "\n";
                        D1A2TextBox.Text += "End-time:" + READER[4].ToString() + "\n";
                        D1A2TextBox.Text += "Timetaken:" + READER[5].ToString() + "\n";
                        D1A2TextBox.Enabled = false;
                    }
                    else
                    {
                        D1A2TextBox.Enabled = false;
                    }

                    if (D1A3TextBox.Text == "")
                    {
                        D1A3TextBox.Text = "Title:" + READER[2].ToString() + "\n";
                        D1A3TextBox.Text += "Start-time:" + READER[3].ToString() + "\n";
                        D1A3TextBox.Text += "End-time:" + READER[4].ToString() + "\n";
                        D1A3TextBox.Text += "Timetaken:" + READER[5].ToString() + "\n";
                        D1A3TextBox.Enabled = false;
                    }
                    else
                    {
                        D1A3TextBox.Enabled = false;
                    }

                    if (D1A4TextBox.Text == "")
                    {
                        D1A4TextBox.Text = "Title:" + READER[2].ToString() + "\n";
                        D1A4TextBox.Text += "Start-time:" + READER[3].ToString() + "\n";
                        D1A4TextBox.Text += "End-time:" + READER[4].ToString() + "\n";
                        D1A4TextBox.Text += "Timetaken:" + READER[5].ToString() + "\n";
                        D1A4TextBox.Enabled = false;
                    }
                    else
                    {
                        D1A4TextBox.Enabled = false;
                    }

                    if (D1A5TextBox.Text == "")
                    {
                        D1A5TextBox.Text = "Title:" + READER[2].ToString() + "\n";
                        D1A5TextBox.Text += "Start-time:" + READER[3].ToString() + "\n";
                        D1A5TextBox.Text += "End-time:" + READER[4].ToString() + "\n";
                        D1A5TextBox.Text += "Timetaken:" + READER[5].ToString() + "\n";
                        D1A5TextBox.Enabled = false;
                    }
                    else
                    {
                        D1A5TextBox.Enabled = false;
                    }

                    if (D1A6TextBox.Text == "")
                    {
                        D1A6TextBox.Text = "Title:" + READER[2].ToString() + "\n";
                        D1A6TextBox.Text += "Start-time:" + READER[3].ToString() + "\n";
                        D1A6TextBox.Text += "End-time:" + READER[4].ToString() + "\n";
                        D1A6TextBox.Text += "Timetaken:" + READER[5].ToString() + "\n";
                        D1A6TextBox.Enabled = false;
                    }
                    else
                    {
                        D1A6TextBox.Enabled = false;
                    }
                }
            }          
            CON.Close();
        }

        catch (Exception et)
        {
            et.ToString();
        }
    }

Upvotes: 3

Views: 178

Answers (3)

Angus Chung
Angus Chung

Reputation: 1587

@kumartyr , according to your needs , you don't want to use Gridview.

So , i rewrite the GetActivity() funtion for dynamic Textbox access.

private void GetActivity()
{
    try
    {
        CON = new OracleConnection(Connection);
        CON.Open();
        OracleCommand COMMAND1 = new OracleCommand("Select ACTIVITYID,to_char(ACTIVITYDATE,'DD-MON-YYYY') as ACTIVITYDATE,TITLE,STARTTIME,ENDTIME,ACTIVITYTIME as TIMETAKEN from DAILY_ACTIVITIES1 where ACTIVITYDATE= (Select min(ACTIVITYDATE) from DAILY_ACTIVITIES1)", CON);

        OracleDataReader READER = COMMAND1.ExecuteReader();
        int count = READER.FieldCount;

        if (READER.HasRows)
        {
            int i = 1;
            TextBox txtDate;
            TextBox txtDA;
            ContentPlaceHolder cph = (ContentPlaceHolder)this.Master.FindControl("MainContent");
            while (READER.Read() && i <= 6)
            {
                if (i == 1)
                {
                    txtDate = (TextBox)cph.FindControl(string.Format("Date{0}TextBox", i.ToString()));
                    txtDate.Text = READER[1].ToString();
                    txtDate.Enabled = false;
                }

                txtDA = (TextBox)cph.FindControl(string.Format("D1A{0}TextBox", i.ToString()));
                if (txtDA.Text == "")
                {
                    txtDA.Text = "Title:" + READER[2].ToString() + "\n";
                    txtDA.Text += "Start-time:" + READER[3].ToString() + "\n";
                    txtDA.Text += "End-time:" + READER[4].ToString() + "\n";
                    txtDA.Text += "Timetaken:" + READER[5].ToString() + "\n";
                }
                txtDA.Enabled = false;
                i++;
            }
        }
        CON.Close();
    }

    catch (Exception et)
    {
        et.ToString();
    }
}

Upvotes: 2

Hussein Khalil
Hussein Khalil

Reputation: 1401

Are you using GridView?, you can create row template and bind the grid view all at once in RowDataBound event

these are easy way to bind gridview. this is a very good example

Upvotes: 0

ManOVision
ManOVision

Reputation: 1893

Use a GridView and bind your OracleCommand as the DataSource. You can customize each cell to show the data you want and you don't have to do any looping or manually add thousands of textboxes.

Here's the documentation with tons of examples: https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview(v=vs.110).aspx

Upvotes: 0

Related Questions