2012-04-15 57 views
3

我使用(ASP + WML)創建此移動門戶/應用程序時,需要生成某個學生在某個學期在某一年中所採取的課程列表。從不同表格的數據庫獲取數據

我有以下表格:

enter image description here

我已經從以前的頁面以下參數:

string StudentId = Request.Params["StudentId"]; 
string Year = Request.Params["Year"]; 
string Semester = Request.Params["Semester"]; 
  • 的(Year)的值可以是 「2011」或「2012」。
  • Semester)的值爲「第一」或「第二」或「夏季」。
  • StudentId)的值是從學生表中的id之前提取的數字。

作爲表內數據的一個示例。

enter image description here

我在這裏

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 

編輯

我怎麼會在打印後的頁面中的信息?

我該怎麼辦?我試圖創建一個視圖,但我不知道爲什麼它不工作。

我無法更改表或DB結構。

預先感謝您。

+0

請不要刪除所有的問題的內容,將其刪除。 – 2012-04-16 21:54:50

回答

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服務器上計算。

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 
相關問題