我必须做一个程序来检查学生在每种课程中学习的课程数量。要求从基础课程中选择9个,从主要课程中选择20个以上,从选修课程中选择2个,然后我将计算在我的页面上注册以满足要求的学生人数。
我尝试了这段代码,但它不起作用:
SqlConnection con = new SqlConnection(constr);
SqlCommand com = new SqlCommand("Select count(kind) From Courses inner join Sched on Courses.Id = Sched.SCourses inner join Students on Sched.Student_ID = Students.Student_Id where Courses.kind='Major' and Students.Student_Id ='"+TextBox1.Text+"' and Students.Exeded_houres = '120' ", con);
SqlDataReader reader;
try
{
con.Open();
reader = com.ExecuteReader();
while (reader.Read())
{
if (reader.HasRows == true)
{
Label3.Text = com.ExecuteScalar().ToString();
}
else
{
Label3.Text = "Students not graduated";
}
}
答案 0 :(得分:0)
COUNT()
方法将始终返回值。即使是0,它仍然会返回1行,这会使你的if
无用,因为它永远不会到达其他部分(reader.HasRows == true
将永远为真),而应该{{1} }马上做结果的条件。