jav*_*ute 0 c# sql-server asp.net
有一个类似的问题在stackoverflow上没有答案,但我相信我非常接近解决它.但基本上,我的sql语句返回多个值,但标签中只显示一个值,而它应该是4或5个值.
protected void btnPopulate_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(strings.settings.connectionString);
SqlCommand command = new SqlCommand("SELECT ID FROM dbo.MDRMASTER WHERE MASTERPID = @MASTERPID",con);
command.Parameters.Add("@MASTERPID", SqlDbType.NVarChar).Value = txtMASTERID.Text;
con.Open();
SqlDataReader dr = command.ExecuteReader();
while (dr.Read())
{
string ID = dr["ID"].ToString();
lblIDs.Text = ID;
}
con.Close();
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.谢谢!
每次循环都会覆盖标签的文本.你可以简单地改变:
lblIDs.Text = ID;
Run Code Online (Sandbox Code Playgroud)
至:
lblIDs.Text += ID + " ";
Run Code Online (Sandbox Code Playgroud)
并且基本上用空格分隔的列表填充标签.
此外,作为一般的最佳实践编程提示:在此示例中,您非常紧密地将UI代码耦合到数据访问代码.您应该查看MVC,Presenter和其他几个选项以避免紧密耦合.这是一篇关于初学者的文章.
你的意思是这样的?
var ids = List<string>();
while (dr.Read())
{
ids.Add(dr["ID"].ToString());
}
lblIDs.Text = String.Join(", ", ids);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2532 次 |
| 最近记录: |