【发布时间】:2018-08-23 07:16:10
【问题描述】:
我正在开发成绩提交模块。如何获取表格中第二行第二行放入label1,第三行放入label2,以此类推?
例子:
studentID | Subjects
12345 | Mathematics
12345 | Science
12345 | History
我只想获取“科学”和“历史”列主题的第二行并将其放入标签中并将其保存到新表中。因为我总是得到该列的第一行。
这是我的代码
string sql = "Select * from tbl_Subject where studentID like '" + studID.Text + "'";
cm = new SqlCommand(sql, cn);
dr = cm.ExecuteReader();
while (dr.Read())
{
Subject.Text = dr["Subjects"].ToString();
}
dr.Close();
提前谢谢你!
【问题讨论】:
-
您可以通过多种方式实现它,在 SQL 中,您可以使用
ROW_NUMBER()/RANK()作为索引/sno 创建一个带有附加列的临时结果集(使用名称作为您的选择) 列,然后将此查询用作子查询并从查询中获取结果为select * from (my query goes here) where <indexColumn>=indexWhichIwantToRead;,或者您可以通过DataAdapter的填充方法在DataTable中加载查询中的所有数据。 -
您还应该看看参数化您的 sql 查询。 en.wikipedia.org/wiki/SQL_injection
-
SQL 表代表 无序 集合。表中没有第二行之类的东西,除非列指定了顺序。您的表似乎没有这样的排序列。