【发布时间】:2015-04-15 04:29:40
【问题描述】:
我想在表格中逐行显示数据库中的数据
如何将数据库中的数据逐行写入每个文本框
(即)日期活动1,活动2等然后下一行日期活动1,活动2等。 如何编写正确的循环
我尝试获取第一行数据的代码:
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();
}
}
【问题讨论】:
-
kumartyr ,你从哪里得到 D1A1TextBox~D1A6TextBox?
-
@AngusChung 这些都是放置在表格第一行的文本框,其中 multiline = true (即)突出显示的是 D1A3textbox
-
我知道,但是你怎么能直接在 GetActivity() 中使用它们呢?
-
我在我的 webform 的 Pageload 中调用了这个方法
-
好的,我明白你的问题,你想要一个循环来做吗?
标签: c# asp.net datareader