2010-12-20 13 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です。 私は、StudentID = startのStudentMasterからStudentNameとStudentIDを取り出したいと思っています。 テーブルの名前は 'StudentMaster'です。 StudentMasterでデータセットを入力します。 次に、StudentID = startのCandidate_RegistrationからRegistration_Noを取得します。 テーブルの名前は「Candidate_Registration」です。 Candidate_Registrationでデータセットを入力します。 フェッチされた 'Registration_No'によれば、 'Registered_Courses'から 'CourseID'を取得します。 しかし、フェッチされた 'Register_No'にアクセスする方法、つまり、次のクエリにどのように入れるのですか。 フェッチされたRegistration_Noを 'reg_no'という名前の変数に入れてもよい場合は、 "Registered_CoursesからCourseIDを選択します。 = "+ 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

答えて

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

私はそれを適用すると、実行時に "da.Fill(ds、" StudentMaster ");というエラーが" Ambiguous Column StudentID " – Shiv

+0

@ user463493:クエリを編集しました。WHERE句にStudentMasterがありません:) – LaGrandMere

関連する問題