2010-12-08 35 views
1

一對多的關係。假設我們已經三個表如何實施和操作許多在ASP.NET

場 - 表

------------------ 
ID | CourseName 
------------------ 
1 | C++ 
2 | Java 
------------------ 

教師 - 表

----------------------- 
ID | TeacherName 
----------------------- 
1 | Professor 1 
2 | Professor 2 
----------------------- 

CourseTeacher - 表

---------------------------- 
ID | CourseID | TeacherID 
---------------------------- 
1 | 1  |  1 
2 | 1  |  2  
3 | 2  |  1 
4 | 2  |  2  
---------------------------- 

現在這就是AFAK要做的事情,但是如何選擇,插入,更新,刪除這種格式的記錄!

我的意思是,我會用一個簡單的 「INSERT INTO ... VALUES(...,...,..)」 或簡單的 「SELECT * FROM ...」

但現在檢索相同的單個信息,我已經使用一些查詢,包括3表格(提示:我已經使用連接,但仍然如何!!)

選擇並插入SQL語句爲我的情況將是非常有益的。

我不使用任何模型和這個複雜的東西,我不知道這種東西的用途是什麼! 我在我的ADO.NET對象中使用SQL查詢,一切工作都很好!

+0

okie:但是你的問題實際上是什麼?你能否詳細說明一下?你想更新CourseTeacher表嗎? – TalentTuner 2010-12-08 15:07:44

+0

如果它的工作正常,那麼爲什麼要改變它? – GvS 2010-12-08 15:08:41

+0

@ Saurabh-我實現了這個結構,因爲我首先在一篇論文中做了一個設計,並且我看到我需要兩張表格(課程和教師),然後存在多對多的關係,所以我研究並發現我必須創建第三張作爲參考的表格,但如果我想添加新課程或新老師,我不知道要更新哪些表格! – lKashef 2010-12-08 15:12:16

回答

2

我不知道理解你的問題是什麼?

讓我們假設你在每個表PK自動遞增。

要添加一門課程:INSERT INTO Course VALUES 'My New Course' 添加老師:INSERT INTO Teacher VALUES 'My New Teacher'

屠添加現有的課程,以現有的教師: 在最壞的情況下,這意味着你只知道老師和的名字當然

SELECT ID FROM Teacher WHERE NAME = 'My New Teacher' -> id1 
SELECT ID FROM Course WHERE NAME = 'My New Course' -> id2 
INSERT INTO CourseTeacher(IDCOURSE,IDTEACHER) VALUES (id2,id1) 

事實上,在你的應用中,當用戶選擇一個課程添加到一個老師,你應該已經知道的ID是,因爲當你得到包含它們的名單,你肯定已經做到了這一點:

SELECT ID, NAME FROM Teacher 
SELECT ID, NAME FROM Course. 

,如果我寫的是不是這可能是有用的鏈接: http://www.singingeels.com/Articles/Understanding_SQL_Many_to_Many_Relationships.aspx

1

它是爲其他表一樣簡單。

1 - 我假設,你必須有插入,更新,選擇課程和老師表的代碼。所以繼續使用相同的方法。

2-但對於CourseTeacher表(連接表),您必須在此表中插入實際存在相應表格中相應的TearcherId和CourseId的情況。

所以當你想在CourseTeacher表中添加一條新記錄時,首先要確保courseid和teacherid的值分別存在。

當你想在交匯處更新時,使用Id列來更新