除了ASP.NET的開發工具VWD(Visual Web Developer0之外,SQL Server也有Express版本,在您安裝了隨著VWD所附的SQL Server Express版本之後,即可提供這樣的功能:
您可以在專案中直接建立SQL Server Express資料庫,並且透過ASP.NET的控制項SqlDataSource來操控它,和正式版的功能沒什麼太大的差別(只是限制多了點、速度慢了點…)。
2-11-1 如何建立資料庫
更有趣的是,VS2005(或VWD)可以直接在專案中建立資料庫,並且直接使用。在ASP.NET 2.0的專案中,『app_』開頭的資料夾名稱是有意義的,其中一個就是『App_Data』,您可以在任何一個新增的專案中看到它:
您在這個資料夾底下,按下滑鼠右鍵,點選『加入新項目』,就可以在App_Data中加入一個SQL Server Express資料庫:
建立完成之後,會在App_Data底下看到這個資料庫:
2-11-2 如何建立資料表
接著,我們來建立資料表,當您Double-Click剛建立好的.mdf檔案之後,會出現『資料庫總管』視窗,您可以在『資料表』項目下,按滑鼠右鍵,點選『加入新的資料表』:
接著,會出現底下的畫面,這個畫面您應該會有點是似曾相似的感覺,與Access的資料欄位新增模式非常接近,也有點像過去SQL Server 2000的Enterprise Manager畫面:
請特別注意一個部分,您一定要針對資料表設計『主索引鍵』(表示此欄位用來存放可以區隔每筆記錄的唯一值):
說明: |
為何需要設定主索引鍵?這是因為在後面我們介紹的DataSource和FormView、DetailsView、GridViews等控制項,都需要主索引鍵,以區分每一筆記錄(也就是記錄編號啦)。這樣在FormView、DetailsView、GridViews等資料繫結控制項中,才可以自動刪除、修改資料庫中資料錄,對整個資料庫的維繫與運作也較為理想。 |
您可以用選單上的『設定主索引鍵』按鈕來設定欄位:
除了新增資料表之外,您也可以新增一個View(檢視表):
設計View的方式也與我們在Access裡面建立的方式雷同:
現在,透過Visual Studio您也可以輕鬆的在專案中建立資料表與檢視表了。讓您的整個專案開發變的更順暢。
2-11-3 如何使用資料庫
剛才建立好的資料庫,要怎麼使用呢?
這個資料庫是以『檔案』的型式存在的,因此您的開發環境中,不需要真的建立一個正式版的SQL Server 資料庫,您在開發專案的時候,只需要透過SqlDataSource就可以使用此資料表:
如上圖,您可以在SqlDataSource的SmartTag上面,點選『設定資料來源』,則可以看到底下畫面:
接著,您可以設定要抓取的資料表,即可順利使用此資料庫:
實際上操作資料庫的部分,您可以參考後面的章節,我們將會有更詳細的說明與介紹。
說明: |
您如果直接將Access的.mdb資料庫檔案,拖曳到App_Data資料夾後,同樣的可以利用AccessDataSource抓取到專案的中的.mdb資料庫,透過類似的方式存取。如果您用了Access,則將來佈署到Server端之後,Server端必須安裝有MDAC2.6或以上的版本。如果您用了SQL Server 2005 Express的資料庫,Server端則必須安裝有SQL Server 2005 Express的版本。 |
2-11-4 關於ASPNETDB.MDF
當您使用到了Login控制項(MembeShip或roles)、Profile、WebParts…等功能時,您會發現,專案中自動產生了這個資料庫:
這個由系統自動產生的資料庫,內建了與ASP.NET 2.0重要機制相關的資料表,如果您在專案中使用到了上述功能,請注意務必在正式機上面也要安裝SQL Server 2005 Expres,否則上面的所有功能都無法使用。當然,佈署到正式環境時,也必須將這個資料庫一併複製佈署。
2-11-5 使用SQL Server Expres資料庫的優劣
既然,ASP.NET 2.0的MemberShip、Roles、登入相關機制、Profile、WebParts都使用了預設的資料庫,是否代表我們都應該使用SQL Server 2005 Express呢?
原則上它是一個堪用的解決方案,但是您大概也知到,微軟的免費產品多半會有一些限制,因此您在實際使用SQL Server 2005 Expres存取大量資料時,一定會發現它慢到不行。
此外,它的儲存容量也是有限制的,而且無法在遠端使用,也就是說,您無法將資料庫獨立在另一個主機上,必須跟IIS在同一台機器上。(所以AP和DB是在同一台的)
開發中小型專案,其實您不妨考慮用這個免錢的版本,但是當您需要大量的資料存取與運算時,SQL Server 2005 Expres就不是一個很好的選擇了。
沒有留言:
張貼留言