共用方式為


使用 Visual Studio 在 .NET Framework 應用程式中建立資料庫並新增資料表

注意

資料集和相關類別是 2000 年代初的舊版 .NET Framework 技術,可讓應用程式在應用程式與資料庫中斷連線時使用記憶體中的資料。 這些技術特別適用於可讓使用者修改資料並將變更保存回資料庫的應用程式。 雖然已證明資料集是非常成功的技術,但建議新的 .NET 應用程式使用 Entity Framework Core。 Entity Framework 提供更自然的方式,將表格式資料作為物件模型使用,而且具有更簡單的程式設計介面。

您可以使用 Visual Studio,在 SQL Server Express LocalDB 中建立和更新本機資料庫檔案。 您也可在 Visual Studio 的 [SQL Server 物件總管] 工具視窗中執行 Transact-SQL 陳述句來建立資料庫。 在本主題中,您會使用 [資料表設計工具] 建立 .mdf 檔案,並新增資料表和索引鍵。

必要條件

若要完成本逐步解說,您需要在 Visual Studio 中安裝 .NET 桌面開發和資料儲存體和流程工作負載。 若要安裝,請開啟 Visual Studio 安裝程式並選擇您要修改 Visual Studio 版本旁的 [修正] (或 [其他]>[修改])。 請參閱修改 Visual Studio

注意

本文中的程序僅適用於 .NET Framework Windows Forms 專案,不適用於 .NET Core Windows Forms 專案。

建立專案和本機資料庫檔案

  1. 建立新的 Windows Forms 應用程式 (.NET Framework) 專案並命名為 SampleDatabaseWalkthrough

  2. 在功能表列上,依序選取 [專案]>[新增項目]。 如果您看到含檔案名稱方塊的小型對話方塊,請選擇 [顯示所有範本]

  3. 在項目範本清單中,向下捲動並選擇 [服務架構資料庫]

    新增新項目 > 基於服務的資料庫

    新增新項目 > 基於服務的資料庫

  4. 將資料庫命名為 SampleDatabase.mdf,然後選取 [新增]

新增資料來源

  1. 如果 [資料來源] 視窗未開啟,請按 Shift+Alt+D 或依序選取功能表列上的 [檢視]>[其他視窗]>[資料來源] 來加以開啟。

  2. 在 [資料來源] 視窗中,按一下 [新增資料來源]

    在 Visual Studio 中新增新資料來源

    在 Visual Studio 中新增新資料來源

    [資料來源組態精靈] 隨即開啟。

  3. 在 [選擇資料來源類型] 頁面上,選擇 [資料庫],然後選擇 [下一步]

  4. 在 [選擇資料模型] 頁面上,選擇 [下一步] 以接受預設 (資料集)。

  5. 在 [選擇資料連線] 頁面上,選擇下拉式清單中的 [SampleDatabase.mdf] 檔案,然後選擇 [下一步]

  6. 在 [將連接字串儲存到應用程式組態檔] 頁面上,選擇 [下一步]

  7. 在 [選擇您的資料庫物件] 頁面上,您會看到訊息,說明資料庫不包含任何物件。 選擇 [完成]

警告

在實際的應用程式中,您應該安全地儲存連接字串,如連接字串和組態檔中所述。 為了獲得最佳安全性,請使用不依賴將密碼儲存在連接字串中的驗證方法,例如內部部署 SQL Server 資料庫的 Windows 驗證。 請參閱儲存和編輯連接字串

檢視資料連線的屬性

您可以透過開啟資料連線的屬性視窗來查看 SampleDatabase.mdf 檔案的一些屬性:

  • 選擇檢視>SQL Server 物件總管 (或 Ctrl+\Ctrl+S)以開啟 SQL Server 物件總管 視窗。 依序展開 [(localdb)\MSSQLLocalDB]>[資料庫],然後以滑鼠右鍵按一下 [SampleDatabase.mdf] (這可能列為完整路徑),然後選取 [屬性]

  • 或者,如果該視窗尚未開啟,您可以依序選取 [檢視]>[伺服器總管]。 展開 [資料連線] 節點,以滑鼠右鍵按一下 [SampleDatabase.mdf] 並選取 [屬性],即可開啟 [屬性] 視窗。

    提示

    如果您無法展開 [資料連線] 節點或未列出 [SampleDatabase.mdf] 連線,請選取 [伺服器總管] 工具列中的 [連線到資料庫] 按鈕。 在 [新增連線] 對話方塊中,請確保選取 [資料來源] 下的 [Microsoft SQL Server 資料庫檔案],然後瀏覽並選取 [SampleDatabase.mdf] 檔案。 選取 [確定] 以完成新增連線。

若要檢視連接字串,您可以在方案總管中開啟 App.config 檔案。 您應該在 connectionStrings 元素下方看到類似下列程式碼的項目:

    <connectionStrings>
        <add name="SampleDatabaseWalkthrough.Properties.Settings.SampleDatabaseConnectionString"
            connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\SampleDatabase.mdf;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>

使用資料表設計工具以建立資料表和索引鍵

在本節中,您會建立兩個資料表、每個資料表一個主索引鍵,以及一些範例資料的資料列。 您也會建立外部索引鍵,以指定一個資料表中的記錄如何與另一個資料表中的記錄對應。

建立 Customers 資料表

  1. 在 [伺服器總管] 或 [SQL Server 物件瀏覽器] 中,展開 [資料連線] 節點,然後展開 [SampleDatabase.mdf] 節點。

  2. 以滑鼠右鍵按一下 [資料表],然後選取 [新增資料表]

    [資料表設計工具] 隨即開啟並顯示含有一個預設列的格線,這表示您要建立的資料表中的單一資料行。 透過將資料列新增至格線,即可在資料表中新增資料行。

  3. 在格線中,為下列每一個項目加入一個資料列:

    資料行名稱 資料類型 允許 Null
    CustomerID nchar(5) False (已清除)
    CompanyName nvarchar(50) False (已清除)
    ContactName nvarchar (50) True (已選取)
    Phone nvarchar (24) True (已選取)
  4. 以滑鼠右鍵按一下 CustomerID 資料列,然後選取 [設定主索引鍵]

  5. 以滑鼠右鍵按一下預設資料列 (Id),然後選取 [刪除]

  6. 透過更新指令碼窗格中的第一行來命名 Customers 資料表,以符合下面範例:

    CREATE TABLE [dbo].[Customers]
    
  7. 將索引條件約束新增至 Customers 資料表。 在 Phone 行結尾新增逗號,然後在右括弧前面新增下列範例:

    CONSTRAINT [PK_Customers] PRIMARY KEY ([CustomerID])
    

    您應該會看到類似這樣的畫面︰

    具有自訂表格的資料表設計工具

    具有自訂表格的資料表設計工具

  8. 在 [資料表設計工具] 左上角,選取 [更新] 或按 Shift+Alt+U

  9. 在 [預覽資料庫更新] 對話方塊中,選取 [更新資料庫]

    Customers 資料表會在本機資料庫檔案中建立。

建立 Orders 資料表

  1. 加入另一個資料表,然後為下表中的每個項目加入一個資料列:

    資料行名稱 資料類型 允許 Null
    OrderID int False (已清除)
    CustomerID nchar(5) False (已清除)
    OrderDate datetime True (已選取)
    OrderQuantity int True (已選取)
  2. OrderID 設為主索引鍵,然後刪除預設的資料列。

  3. 透過更新指令碼窗格中的第一行來命名 Orders 資料表,以符合下面範例:

    CREATE TABLE [dbo].[Orders]
    
  4. 將索引條件約束新增至 Customers 資料表。 在 OrderQuantity 行結尾新增逗號,然後在右括弧前面新增下列範例:

    CONSTRAINT [PK_Orders] PRIMARY KEY ([OrderId])
    
  5. 在 [資料表設計工具] 左上角,選取 [更新] 或按 Shift+Alt+U

  6. 在 [預覽資料庫更新] 對話方塊中,選取 [更新資料庫]

    Orders 資料表會在本機資料庫檔案中建立。 如果您在 [伺服器總管] 中展開 [資料表] 節點,您會看到這兩個資料表:

    「伺服器總管」中展開的「資料表」節點

    「伺服器總管」中展開的「資料表」節點

    如果您沒有看到資料表,請點選 [重新整理] 工具列按紐。

建立外部索引鍵

  1. 在Orders 資料表 [資料表設計工具] 格線右側的內容窗格中,以滑鼠右鍵按一下 [外部索引鍵],然後選取 [新增外部索引鍵]

    在 Visual Studio 的資料表設計工具中新增外部索引鍵

    在 Visual Studio 的資料表設計工具中新增外部索引鍵

  2. 在顯示的文字方塊中,將文字 ToTable 取代為 Customers

  3. 在 [T-SQL] 窗格中,更新最後一行以符合下列範例:

    CONSTRAINT [FK_Orders_Customers] FOREIGN KEY ([CustomerID]) REFERENCES [Customers]([CustomerID])
    
  4. 在 [資料表設計工具] 左上角,選取 [更新] (Shift+Alt+U)。

  5. 在 [預覽資料庫更新] 對話方塊中,選取 [更新資料庫]

    已建立外部索引鍵。

將資料填入資料表

  1. 在 [伺服器總管] 或 [SQL Server 資料總管] 中,展開範例資料庫的節點。

  2. 開啟 [資料表] 節點的捷徑功能表,選取 [重新整理],然後展開 [資料表] 節點。

  3. 開啟 Customers 資料表的捷徑功能表,然後選取 [顯示資料表資料] 或 [檢視資料]

  4. 為某些客戶新增您想要的任何資料。

    您可以指定要做為客戶 ID 的五個任意字元,不過,請至少選擇一個可記住且之後可在此程序中使用的字元。

  5. 開啟 Orders 資料表的捷徑功能表,然後選取 [顯示資料表資料] 或 [檢視資料]

  6. 為某些訂單新增資料。 當您輸入每個資料列時,便會儲存在資料庫中。

    重要

    確定所有訂單識別碼和訂單數量都是整數,而且每個客戶識別碼都符合您在 Customers 資料表的 CustomerID 資料行中指定的值。

恭喜! 您現在已了解如何建立資料表、將資料表與外部索引鍵連結,以及新增資料。