我正在使用(ASP + WML)创建这个移动门户/应用程序,我需要生成一个学生在某一学期某一年开设的课程列表。
我有以下表格:
我在上一页中有以下参数:
string StudentId = Request.Params["StudentId"];
string Year = Request.Params["Year"];
string Semester = Request.Params["Semester"];
Year
)的值为“2011”或“2012”。Semester
)的值为“First”或“Second”或“Summer”。StudentId
)的值是在Students表格中从id之前提取的数字。作为表格内数据的样本。
我被困在这里
string connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFileName=|DataDirectory|\Uni.MDF;" +
"Integrated Security=True;User Instance=True";
string queryString =" ??????????????????????????? " ;
我想要一个页面来显示用户注册的课程(在给定的学期中)。 该信息稍后将通过URL传递到新页面,其中将显示信息。
类似的东西:
First Semester 2010
Student : Arin Rizk
Course Name No. of Credit Mark
AAA 3 65
BBB 3 23
CCC 3 65
DDD 3 58
EEE 3 70
Your GPA for this semster is 3.12
修改
我将如何在页面中打印信息?
我该怎么办?我试图创建一个视图,但我不知道为什么它不起作用。
我无法更改表格或数据库结构。
提前谢谢。
答案 0 :(得分:3)
select st.firstname + ' ' + st.lastname,se.year, c.coursename,c.credits,ri.mark
from students st
inner join RegisteredIn ri on ri.studentid=st.id
inner join semester se on se.id=ri.semesterid
inner join Courses c on c.id=se.courseid
此查询将为您提供姓名,年份,coursename,信用和分数。
您需要为gpa计算编写另一个查询,或者您可以使用上面获得的数据在您的Web服务器上进行计算。
答案 1 :(得分:0)
对于课程列表,您可以这样做:
Select Courses.CourseName, Courses.NumberOfCredits, RegisteredIn.Mark
From dbo.Courses Inner Join dbo.RegisteredIn On Courses.id = RegisteredIn.CourseID
Inner Join dbo.Semester On RegisteredIn.SemesterID = Semester.id
Where RegisteredIn.StudentID = '20111' AND
Semester.Title = 'First' AND
Semester.Year = 2011
Order By Courses.CourseName