使用循环c#asp.net检索数据并显示到多个控件中

问题描述 投票:0回答:2

net sql server,我想循环使用C#asp.net sql server storedprocedure从sql数据库检索数据到不同的标签控件。

string constrng = ConfigurationManager.ConnectionStrings["baby"].ConnectionString;
SqlConnection conn = new SqlConnection(constrng);
SqlCommand sqlComm;
sqlComm = new SqlCommand("stor_proc", conn);
sqlComm.CommandType = System.Data.CommandType.StoredProcedure;
conn.Open();

SqlDataReader dr = sqlComm.ExecuteReader();
DataSet ds = new DataSet();
ds.Tables.Add("Home");
ds.Tables[0].Load(dr);

m.Text = ds.Tables[0].Rows[0][1].ToString();
i.Text = ds.Tables[0].Rows[0][2].ToString();
d.Text = ds.Tables[0].Rows[0][3].ToString();
g.Text = ds.Tables[0].Rows[0][4].ToString();

m1.Text = ds.Tables[0].Rows[1][1].ToString();
i1.Text = ds.Tables[0].Rows[1][2].ToString();
d1.Text = ds.Tables[0].Rows[1][3].ToString();
g1.Text = ds.Tables[0].Rows[1][4].ToString();

m2.Text = ds.Tables[0].Rows[2][1].ToString();
i2.Text = ds.Tables[0].Rows[2][2].ToString();
d2.Text = ds.Tables[0].Rows[2][3].ToString();
g2.Text = ds.Tables[0].Rows[2][4].ToString();

conn.Close();
c# asp.net
2个回答
0
投票
for (int i = 0; i < 3; i++ ) {
   m.Text = ds.Tables[0].Rows[i][1].ToString();
   i.Text = ds.Tables[0].Rows[i][2].ToString();
   d.Text = ds.Tables[0].Rows[i][3].ToString();
   g.Text = ds.Tables[0].Rows[i][4].ToString();
}

0
投票

您可以像这样使用foreach循环:

foreach (DataRow row in ds.Tables[0].Rows)
{
    // Now here, you are iterating through a individual row.
    // ItemArray gives an index position of a cell within a row.

    m.Text = row.ItemArray[0].ToString();
    i.Text = row.ItemArray[1].ToString();
    d.Text = row.ItemArray[2].ToString();
    g.Text = row.ItemArray[3].ToString();

}
© www.soinside.com 2019 - 2024. All rights reserved.