C# 如何使用标签从数据库填充C中的表
下面是我从oracle数据库获取数据以在asp.netC中显示包含多行的表的代码。Te列将包括姓名、章节和性别。表的标题是硬编码的,只应从数据库中填充行数据。在执行代码时,我只得到来自数据库的第一行。剩下的行不来了。请提出解决方案C# 如何使用标签从数据库填充C中的表,c#,asp.net,oracle,C#,Asp.net,Oracle,下面是我从oracle数据库获取数据以在asp.netC中显示包含多行的表的代码。Te列将包括姓名、章节和性别。表的标题是硬编码的,只应从数据库中填充行数据。在执行代码时,我只得到来自数据库的第一行。剩下的行不来了。请提出解决方案 public void GetDailyData() { using (OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["
public void GetDailyData()
{
using (OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["dataconn"].ToString()))
{
try
{
string query = @"SELECT name,section, gender FROM t_student WHERE order by TRUNC(admissionDate)";
OracleCommand cmd = new OracleCommand(query, conn);
conn.Open();
OracleDataAdapter da = new OracleDataAdapter(cmd);
DataSet ds = new DataSet();
cmd.ExecuteNonQuery();
da.Fill(ds);
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (ds.Tables[0].Rows.Count > 0)
{
LabelName.Text = ds.Tables[0].Rows[0].Field<string>(0);
LabelSection.Text = ds.Tables[0].Rows[0].Field<string>(1) ;
LabelGender.Text = ds.Tables[0].Rows[0].Field<string>(2) ;
}
}
}
catch (Exception ex)
{
throw ex;
}
}
}
您只看到第一行中的行数据,因为当您说ds.Tables[0]时,这就是您要提取的数据。行[0]-行[0]将始终是表的第一行 这整段代码都很混乱 不能使用单个标签显示多行-请使用网格组件并将其数据绑定到datatable 代码使用循环遍历表中的行,但检查表中是否有行,在循环中,如果没有行,循环将不会运行,并且在每次循环中,它总是访问第一行,而不是使用枚举行 不要使用数据集,只需创建一个新的数据表并填充它-数据集用于处理多个相关的数据表,在这种情况下,单个表是无用的额外层 不要对命令执行ExecuteOnQuery,这是一个无用的操作-dataadapter将在填充期间执行查询,您不需要执行,ExecuteOnQuery用于插入/更新/删除/创建等-这是一个选择。 您的代码可以/应该更像:
DataTable dt = new DataTable();
da.Fill(dt);
gridControl.DataSource = dt;
gridControl.DataBind();
就这样。除了命令和连接之外的所有其他代码都应该扔掉