簡介SQL資料庫 
         SQL資料庫字面上的意義就是可以使用SQL語言操作的資料庫檔案,多數資料庫的運作都需要一個資料庫伺服器軟體,在微軟系列軟體中稱為SQL Server,資料庫檔案應該要經過程序在軟體內建立,或在外建立後『掛進』SQL Server,成為資料庫系統的一部分,應用程式要用時必須先登入SQL Server,再選擇使用其中的某個檔案資料。
        上述過程當然相當麻煩,因為應用程式要用的資料居然必需向另一個軟體申請?因此直接可以用檔案形式使用的Access資料庫才會成為初學者的最愛。但是畢竟Access有些功能不如正規的SQL資料庫檔案,多數商業系統正式運作時還是必須依循正規的資料庫操作架構。雖然Access也是可以使用SQL語法操作的資料庫檔案,但是基於傳統習慣,我們稱呼「SQL資料庫」時並不包含Access種類的檔案。
        微軟公司簡化資料庫使用的作法是提供一個免費的SQL Server Express軟體,隨程式語言同時安裝,並且在各程式設計軟體中用圖形化介面,讓使用者建立或使用SQL資料庫時不覺得有SQL Server的存在,就像在軟體內建立與使用一個資料檔案一樣。這樣一來甚至比用Access還要方便,因為建立Access資料庫檔案還必須使用另一個軟體(Office Access)建立,使用SQL Server Express資料庫則完全在程式設計(Visual Studio) 軟體內操作即可,不必切換到其他軟體。

拜訪一下SQL Server
        下面是安裝好SQL Server Express之後在程式集中該軟體的位置(在Windows 7系統)。

組態管理員視窗畫面如下:

右方反白的就是SQL Server的執行狀態,如果沒啟動就點選讓它啟動吧
不過這不算是完整的資料庫管理系統(DBMS)軟體,因為其實沒有資料處理的介面,我們也不必使用這裡的介面來建立資料,直接到程式設計軟體內部找就有了。接下來就用設計網頁程式的 Visual Studio 建立一個簡單的資料庫吧!

在Visual Studio內部建立SQL資料庫
如同前一單元,請開啟VS軟體建立新網站(ASP.NET空網站),選擇功能表『網站』→『加入新項目』→『SQL Server資料庫』,如下圖:

接著出現如下視窗,請選擇是!新的資料庫檔案就會出現在新增的App_Data目錄內,應該是副檔名為 mdf 的一個檔案。

上圖按下「」之後立即會出現一個如下的資料庫總管視窗,這就是一個SQL Server的資料管理介面了,它顯示目前管轄的檔案有剛剛建立的 Database.mdf 檔案但是尚未連接,所以出現一個小紅叉叉,點檔名一下,或者對檔名按下右鍵選擇『重新整理』就可以與資料庫連線了!當然也可以選擇斷線。目前這個檔案是空的,我們必須建立第一張資料表,請到資料表那個目錄圖示按下右鍵,選擇加入新的資料表。

出現的視窗是欄位定義,請輸入幾個項目,再到第一項前面的灰色空格點一下,選取鑰匙圖示,設定姓名為主索引鍵。接著按下儲存檔案的磁片圖示。

更改資料表名稱為通訊錄後確定儲存。

此時資料表還沒有資料,請到資料庫總管視窗,找到通訊錄資料表,按右鍵選擇顯示資料表。

出現視窗後輸入資料如下,過程中一直出現的紅色驚嘆號圖示只是提醒你這一筆資料還沒寫入資料庫,每次換行資後就會自動寫入資料庫(不需按儲存就會自動存),圖示也就不見或移到下一行了!

至此資料已經建好,請參考前面建立Access資料庫單元開啟一個新的Web Form網頁,加入一個GridView物件,準備用它來顯示剛剛建立的資料,此時當然要選資料來源是『SQL資料庫』!

接下來出現下面的視窗請不要盲目地點『新增連接』去找檔案直接點黑色向下的箭頭就可以看到我們要的檔案。如果你點『新增連接』,程式會以為你要呼叫外部的 SQL Server,會出現很複雜的介面要你選資料庫種類、還要你登入等等,但是因為你剛剛做的檔案並不在那些伺服器裡面,你反而找不到你要的檔案。
選擇 Database.mdf 之後的動作與前一單元相同,就是將通訊錄資料表全部項目叫進來,當然順便將進階的兩個選項也勾選了,讓資料連結也具又具有編輯的功能。

設計結果畫面與使用Access相似,只有資料連結用的物件變成『SqlDataSource

它的原始碼大致如下(後面太長部分截斷了):

與Access稍有不同的是代表資料來源的連接字串ConnecttionString用一個"<%$...%>"標籤刮起來,裡面也沒寫清楚檔案來源,事實上這個資訊變成了一個變數"ConnecttionString",藏在網站的web.config檔案內,可以去找找看大概是這個樣子的:
 connectionString="Data Source=.\SQLEXPRESS;
AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" 
資料來源變成".\SQLEXPRESS"就是指必須找 SQL Server 要資料,檔案位置也有交代,ProviderName 就是我們說的資料庫引擎,負責翻譯SQL為資料庫內部指令的軟體,在此就是.NET Library的一個命名空間System.Data.SqlClient。 可以證明此地的SQL確實按照標準資料庫的運作方式,真的有一個SQL Server軟體,應用程式頁真的經過它使用資料庫。
接下來可以如前一單元加入FormView,讓網頁也可以新增資料,但是你直接執行網頁程式時可能會出現如下畫面:

雖然是英文但是寫得很清楚,翻譯中文是:目前此應用程式離線之中,要啟動此應用程式請刪掉本網站目錄中的『app_offline.htm』檔案!看看方案總管視窗還真有這樣一個檔案:

這是軟體在建立資料庫時自行產生的,原因可能是認為資料庫建置中刻意不讓外界連線吧?刪掉它就可以執行網頁程式了,畫面大概如下:


建立SQL資料庫的動作很重要,務必熟悉!因為之後的每一個單元幾乎都會用到,上課中也不會一再重複說明了!