2010-12-20 68 views
0
SqlDataAdapter da = new SqlDataAdapter("Select StudentID,StudentName from StudentMaster where StudentID = '" + start + "'", conn);    
DataSet ds = new DataSet(); 
da.Fill(ds,"StudentMaster"); 
SqlDataAdapter db = new SqlDataAdapter("Select Registration_No from Candidate_Registration where StudentID='" + start + "'", conn); 
db.Fill(ds, "Candidate_Registration"); 

這裏'開始'是以前形式的文本框的文本框值,即form2。 我想從StudentMaster中獲取StudentID和StudentID,其中StudentID =開始。 該表名爲'StudentMaster'。 用StudentMaster填充數據集。 然後,我想從Candidate_Registration獲取Registration_No,其中StudentID = start。 該表名爲'Candidate_Registration'。 用Candidate_Registration填充數據集。 現在根據提取的'Registration_No',我想從'Registered_Courses'中獲取'CourseID'。 但問題是,如何訪問提取的'Registration_No',即如何將它放入以下查詢中: 如果我可以將提取的Registration_No帶入名爲'reg_no'的變量,則 「從Registered_Courses中選擇CourseID,其中Registration_No =「+ reg_no;從數據集檢索數據

更多的瞭解我提到的表和關係....

StudentMaster 
------------- 
StudentID Primary key, 
StudentName 

Candidate_Registration 
---------------------- 
Registration_No Foreign key, 
ExamID Foreign key, 
StudentID Foreign key, 
Seat_No, 
Primary key(Registration_No,ExamID) 

Registered_Courses 
------------------ 
Registration_No Primary key, 
ExamID Foreign key, 
CourseID Foreign key, 

Course_Master 
------------- 
CourseID Primary key, 
Course_Name, 
Description 

即最後我想對特定StudentID的COURSE_NAME。

任何人都可以請幫助我。提前致謝!

+2

您應該真的使用參數化查詢 – Pabuc 2010-12-20 15:41:06

回答

1

嘗試此查詢:

Select StudentMaster.StudentId, Course_Master.Course_Name from StudentMaster 
INNER JOIN Candidate_Registration 
ON Candidate_Registration.StudentId = StudentMaster.StudentId 
INNER JOIN Registered_Courses 
ON Registered_Courses.Registration_No = Candidate_Registration.Registration_No AND Registered_Courses.ExamID = Candidate_Registration.ExamID 
INNER JOIN Course_Master 
ON Course_Master.CourseID = Registered_Courses.CourseID 
WHERE StudentMaster.StudentId = @MyId 

與您的ID參數替換@MyId和它給你一個StudentId所有CourseNames。

+0

謝謝4 d答案,但是當我應用它時,在運行時遇到錯誤「Ambiguous Column StudentID」da.Fill(ds,「StudentMaster」); – Shiv 2010-12-20 17:27:21

+0

@ user463493:編輯了查詢,WHERE子句中缺少一個StudentMaster :) – LaGrandMere 2010-12-20 17:32:15