[英]How do i display query result in multiline text box in next line c#
我試圖在這樣的多行文本框中顯示我的數據
col1 result col2 result col3 result
但是我做不到。 這是我的代碼
SqlConnection sq = new SqlConnection(ConfigurationManager.ConnectionStrings["ConString"].ConnectionString);
SqlCommand cmd = new SqlCommand("Select * from table",sq);
sq.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
// pkg_details.Text = pkg_details.Text = rdr[0].ToString();
pkg_details.Text = rdr[0].ToString();
pkg_details.Text = rdr[1].ToString();
pkg_details.Text = rdr[2].ToString();
}
此代碼僅顯示一列結果。 如何獲得所有列?
當前代碼的問題是您要覆蓋每一列的Text
,因此僅保留最后一列。
while (rdr.Read())
{
pkg_details.Text += string.Join(Environment.NewLine, rdr.Take(3).Select(ToString));
}
如果您想格式化列,請嘗試類似
while (rdr.Read())
{
pkg_details.Text += string.Join(Environment.NewLine, rdr.Take(3)
.Select((x, i) => $"Column {i}{Environment.NewLine}{x.ToString()}"));
}
但是我建議您使用更合適的控件視圖來顯示內容,而不要使用Mutiline文本框。 類似於列表視圖。
您可以按照以下步驟在代碼中進行更正:
SqlCommand cmd = new SqlCommand("Select * from table",sq);
sq.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
// pkg_details.Text = pkg_details.Text = rdr[0].ToString();
pkg_details.Text += rdr[0].ToString() + Environment.NewLine;
pkg_details.Text += rdr[1].ToString() + Environment.NewLine;
pkg_details.Text += rdr[2].ToString() + Environment.NewLine;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.