最近看到一个学籍管理系统,其中有段代码是根据学号和学期查询成绩的。
学号用textbox输入,学期用Combobox下拉条()下拉条项为:1,2,3,4,all显示。代码如下:
label3.Text = name + "同学的成绩如下:";
if (s2=="all")
{
sql = "select distinct 课程基本信息表.Cno as 课程号,课程基本信息表.Cname as 课程名,学生成绩信息表.Score as 分数,课程基本信息表.CSemester as 学期 from 学生基本信息表,课程基本信息表,学生成绩信息表 where 课程基本信息表.Cno=学生成绩信息表.Cno and 学生基本信息表.Sno='" + s1 + "'";
}
else
{
sql = "select distinct 课程基本信息表.Cno as 课程号,课程基本信息表.Cname as 课程名,学生成绩信息表.Score as 分数,课程基本信息表.CSemester as 学期 from 学生基本信息表,课程基本信息表,学生成绩信息表 where 课程基本信息表.Cno=学生成绩信息表.Cno and 学生基本信息表.Sno='" + s1 + "' and 课程基本信息表.CSemester='" + s2 + "'";
}
try
{
conn = new SqlConnection(connStr);
cmd = new SqlCommand(sql, conn);
conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
conn.Close();
}
catch(Exception ee)
{
MessageBox.Show(ee.Message,"数据库操作失败",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
为什么我照着源代码还原。所用测试数据一样,但是得出的查询结果却不一样?
我的:
源代码显示: