Reputation: 305
i want to display data from database row by row in table
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
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
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
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