国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

創(chuàng)建ASP.NET數(shù)據(jù)存儲(chǔ)層(2)

2024-07-10 12:55:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友


使用 visual studio .net 定義數(shù)據(jù)庫(kù)表

  在 visual studio .net 中定義數(shù)據(jù)庫(kù)表的最簡(jiǎn)單的方法是創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)圖。這樣,您可以在一個(gè)類(lèi)似“所見(jiàn)即所得”的編輯器中定義所有細(xì)節(jié)。您只需展開(kāi) server explorer(服務(wù)器資源管理器)中相應(yīng)的樹(shù),在 database diagrams(數(shù)據(jù)庫(kù)圖)項(xiàng)上單擊鼠標(biāo)右鍵,然后從上下文相關(guān)菜單中選擇 new database diagram...(新建數(shù)據(jù)庫(kù)圖...),即可啟動(dòng)一個(gè)新的空白圖。第一次啟動(dòng)某個(gè)圖時(shí),系統(tǒng)將要求您從數(shù)據(jù)庫(kù)中選擇一個(gè)表。因?yàn)槟形磩?chuàng)建任何表,所以可以忽略該對(duì)話框?,F(xiàn)在,可以開(kāi)始定義您的表了。

  在生成的《asp.net應(yīng)用程序規(guī)劃與設(shè)計(jì)》用戶方案文檔包含定義表所需的信息。學(xué)習(xí)定義如何在系統(tǒng)中添加新記錄的方案,通常是了解需要存儲(chǔ)哪些數(shù)據(jù)的最佳途徑。有時(shí),您需要查看諸如記錄更新甚至是報(bào)告之類(lèi)的其他方案,以確保沒(méi)有遺漏其他字段。在本示例中,“添加記錄”方案就是一個(gè)很好的參考方案。

  例如,以下是用于添加問(wèn)題的方案:

  添加新問(wèn)題

  向系統(tǒng)中添加一條新問(wèn)題記錄,其中包括標(biāo)題、日期/時(shí)間、指明該問(wèn)題所屬類(lèi)別的主題 id 以及問(wèn)題正文。有時(shí)還需要提供問(wèn)題提出者姓名及其電子郵件地址。添加新問(wèn)題之后,將向調(diào)用函數(shù)返回一個(gè)唯一的整數(shù)問(wèn)題 id。

  重要名詞以粗體表示。閱讀方案說(shuō)明時(shí),這些名詞或表名(例如,“問(wèn)題記錄”就是一個(gè)很好的例子)往往能夠表明需要存儲(chǔ)哪些數(shù)據(jù)。使用上述信息,您可以在數(shù)據(jù)庫(kù)圖中添加一個(gè)新表并定義所需的列。下面的示例詳細(xì)介紹了如何在數(shù)據(jù)庫(kù)圖中添加表。

  在圖“surface”上單擊鼠標(biāo)右鍵并從上下文相關(guān)菜單中選擇 new table...(新建表...)。輸入 questions(問(wèn)題)作為表名,然后單擊 ok(確定)將其添加到圖中。

  在 questions(問(wèn)題)表對(duì)話框中,鍵入上文所述方案中提供的字段信息。例如,column name(列名)= id、data type(數(shù)據(jù)類(lèi)型)= int、length(長(zhǎng)度)= 4,并取消選擇 allow nulls(允許為空)復(fù)選框。對(duì)該表的其余部分重復(fù)上述操作(參見(jiàn)圖 3)。


圖 3:questions(問(wèn)題)表

  您將看到,第一列 (id) 旁邊有一個(gè)小的金色鍵。它表示該字段是該表的主鍵字段。要設(shè)置主鍵字段,可以在列表中的列名上單擊鼠標(biāo)右鍵,然后從上下文相關(guān)菜單中選擇 primary key(主鍵)。另外,還應(yīng)將此 id 字段設(shè)置為以增量方式自動(dòng)增加的標(biāo)識(shí)列。這樣,sql server 就可以為添加到表中的每條記錄自動(dòng)生成一個(gè)唯一的整數(shù)值。要進(jìn)行此設(shè)置,請(qǐng)?jiān)谠摿猩蠁螕羰髽?biāo)右鍵,從上下文相關(guān)菜單中選擇 properties(屬性),然后在 property pages(屬性頁(yè))對(duì)話框中選擇 columns(列)選項(xiàng)卡。其他的操作就很容易了(參見(jiàn)圖 4)。


圖 4:property pages(屬性頁(yè))對(duì)話框中的 columns(列)選項(xiàng)卡

  使用“添加主題記錄”和“添加解答記錄”方案中的信息,可以創(chuàng)建其他兩個(gè)表。請(qǐng)務(wù)必為每個(gè)表創(chuàng)建 id 列,并將這些列標(biāo)記為標(biāo)識(shí)列和主鍵。下面的圖 5 顯示了三個(gè)已完成的表。


圖 5:三個(gè)已完成的表

  您會(huì)發(fā)現(xiàn),這些表都通過(guò)連接線與數(shù)據(jù)庫(kù)圖連接起來(lái)。這些連接線表明表之間存在外鍵關(guān)系。例如,questions(問(wèn)題)表中的 topicid 列與 topics(主題)表中的 id 列相關(guān)聯(lián)。通過(guò)將這種關(guān)系存儲(chǔ)到數(shù)據(jù)庫(kù)中,您可以制定用以防止在數(shù)據(jù)庫(kù)中保存非法數(shù)據(jù)的規(guī)則。本示例中的關(guān)系規(guī)則是,questions.topicid 列所允許的有效值只能是 topics.id 列中已存在的某條記錄的值。

  您可以通過(guò)將 questions(問(wèn)題)表中的 topicid 列拖放到 topics(主題)表中的 id 列上,來(lái)定義這些關(guān)系。此時(shí)將出現(xiàn)一個(gè)對(duì)話框,顯示規(guī)則定義的詳細(xì)信息并要求您按下 ok(確定)按鈕進(jìn)行確認(rèn)(參見(jiàn)圖 6)。


圖 6:create relationship(創(chuàng)建關(guān)系)對(duì)話框

  您可能會(huì)發(fā)現(xiàn),responses.questionid 和 questions.id 之間也定義了一個(gè)關(guān)系。

  注意:您可能已經(jīng)注意到,我們還沒(méi)有為專家定義任何表。我決定將有關(guān)專家的信息存儲(chǔ)在一個(gè) xml 文件中,而不是存儲(chǔ)在數(shù)據(jù)庫(kù)中。這樣做的主要原因是我們可以借此討論一下如何讀寫(xiě) xml 數(shù)據(jù),以便在同一個(gè)應(yīng)用中融合 xml 數(shù)據(jù)和關(guān)系數(shù)據(jù)。我們將在下一部分中討論有關(guān)專家數(shù)據(jù)的問(wèn)題。

  至此,數(shù)據(jù)庫(kù)和表都已定義完畢。以上介紹了解決方案的實(shí)際數(shù)據(jù)存儲(chǔ)過(guò)程。但是,我們還需要了解如何在表中讀寫(xiě)信息。為此,我們將定義 sql server 中的存儲(chǔ)過(guò)程。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 突泉县| 颍上县| 南阳市| 开封县| 成安县| 遵义市| 平邑县| 沽源县| 游戏| 全州县| 望都县| 九龙县| 东海县| 内黄县| 项城市| 石门县| 襄城县| 朝阳市| 吴桥县| 汉中市| 保靖县| 旬邑县| 海盐县| 永胜县| 北京市| 怀宁县| 涟源市| 将乐县| 永兴县| 石城县| 兰考县| 扎兰屯市| 秭归县| 鲁山县| 乌兰县| 弥勒县| 日喀则市| 镇江市| 胶州市| 宜宾市| 靖边县|