c# - 如何获取每一行中的每个数据 C# & SQL
问题描述
假设我有一个包含 3 列的表,如下所示:
ID | NAME | Subject
---+------+----------
1 | Mark | English
1 | Mark | Math
2 | Matt | Math
2 | Matt | English
1 | Mark | History
如何获得“标记”的每个主题,如英语、数学、历史(排序依据),它们将与主题列中每一行的 ID 相匹配?因为我只得到第一个主题是“英语”或第一行。
string sql = "select * from tbl_Student where ID like '"+ID.Text+"'";
cm = new SqlCommand(sql, cn);
dr = cm.ExecuteReader();
while (dr.Read())
{
Subject1.Text = dr["Subject"].ToString();
Subject2.Text = dr["Subject"].ToString();
Subject3.Text = dr["Subject"].ToString();
}
dr.Close();
解决方案
您替换Subject.Text
每个循环中的值。这意味着它只包含最后一个值。
你应该连接字符串
Subject.Text += dr["Subject"].ToString();
推荐阅读
- postgresql - PostgreSQL FDW over pgBouncer 断开与 PostgreSQL 的连接
- python - 为什么我不能在 python 的 VSCode 中导入我的文件?
- python - pytest 说我打电话时找不到夹具
- python-3.x - requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection')) 在 python request.api
- javascript - 为什么我的 HTML 和 JavaScript 按钮不能一起工作?
- ruby-on-rails - 在 Ruby on Rails 中使用 Pg_Search 过滤多个列
- r - 脚本不显示输出
- c++ - 如何在 C++ 中创建元组向量并附加到它?
- python - 如何解决这个问题?TypeError:无法对标签进行索引
使用这些索引器 [0] - mysql - 如果在 API Mysql 查询中没有返回结果,则未定义的值