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

首頁 > 學院 > 開發設計 > 正文

VS.NET中構建數據庫應用程序

2019-11-17 04:58:29
字體:
來源:轉載
供稿:網友
  簡介

  Microsoft Visual Studio .NET 包括一系列工具和數據訪問類,使通過 Microsoft SQL Server? 2000 生成數據庫應用程序比以前更加輕易。現在,開發人員所需的所有工具都包含在 Visual Studio 集成開發環境 (IDE) 中。本白皮書將介紹新的工具和數據類,引導您完成生成數據庫應用程序的整個過程,并重點介紹對 SQL Server 2000 新增功能(例如 xml 支持、索引視圖和級聯引用完整性)的支持。本文還包括一個簡單的 Microsoft Visual Basic 應用程序,用于闡明如何使用這些工具。


  前提條件

  要生成本文中的示例應用程序,您的計算機上必須安裝以下軟件:

   Microsoft windows 2000 Server
   Visual Studio .NET(有些示例程序注明需要使用 Visual Studio .NET EnterPRise Edition)
   SQL Server 2000 Enterprise Edition
   還需要使用數據庫所有者 (dbo) 權限登錄 SQL Server。

  可視化數據庫工具

  Visual Studio .Net IDE 包含一套可視化數據庫工具,旨在簡化使用 SQL Server 2000 開發數據庫應用程序。可視化數據庫工具包含以下各項:

   服務器資源治理器
   數據庫設計器
   表設計器
   SQL 編輯器
   查詢和視圖設計器

  以下各節將具體介紹這些工具。

  服務器資源治理器

  服務器資源治理器是可視化數據庫工具以及多數其他工具和設計器的門戶。使用服務器資源治理器,您可以連接到 SQL Server 數據庫并查看帶有 SQL Server 計算機、數據庫關系圖、表、視圖、存儲過程和函數等節點的分層結構樹狀視圖。許多開發人員以前需要使用 SQL Server 企業治理器才能完成的任務,現在可以使用服務器資源治理器來完成,而無需再使用企業治理器。

  要打開服務器資源治理器,請啟動 Visual Studio .NET,然后在 View(視圖)菜單中單擊 Server EXPlorer(服務器資源治理器)。

  第一次打開服務器資源治理器時,會看到兩個節點,如圖 1 所示。第一個節點 Data Connections(數據連接)列出了計算機上以前創建的所有數據庫連接。第二個節點 Servers(服務器)列出了當前網絡上的所有服務器。Servers(服務器)節點下有一個名為 SQL Servers(SQL 服務器)的節點,使用該節點可以訪問可視化數據庫工具而無需創建數據連接。創建數據連接后,也可以通過 Data Connections(數據連接)節點訪問可視化數據庫工具。

VS.NET中構建數據庫應用程序(圖一)
圖 1:服務器資源治理器(單擊圖片以查看大圖像) QQRead.com 推出數據恢復指南教程 數據恢復指南教程 數據恢復故障解析 常用數據恢復方案 硬盤數據恢復教程 數據保護方法 數據恢復軟件 專業數據恢復服務指南 創建新的 SQL Server 數據庫

  使用 Visual Studio .NET Enterprise Edition,用戶可以在 Visual Studio .NET IDE 中創建新的 SQL Server 數據庫。在以下過程中,我們將創建一個名為 ServiceCall 的示例數據庫。

  創建新的數據庫

  1、打開服務器資源治理器:在 View(視圖)菜單中,單擊 Server Explorer(服務器資源治理器)。

  2、右鍵單擊 Data Connections(數據連接),然后單擊 Create New SQL Server Database(創建新 SQL Server 數據庫)。將打開 Create Database(創建數據庫)對話框。

VS.NET中構建數據庫應用程序(圖二)
圖 2:創建新 SQL Server 數據庫

  3、在 Create Database(創建數據庫)對話框中,執行以下操作:

   在 Server(服務器)中,鍵入服務器的名稱。

   在 Login Name(登錄名)和 PassWord(密碼)中,輸入新數據庫的身份驗證信息。

   在 New Database Name(新數據庫名)中,鍵入 ServiceCall,然后單擊 OK(確定)。

VS.NET中構建數據庫應用程序(圖三)
圖 3:Create Database(創建數據庫)對話框

  新數據庫在服務器上使用默認設置創建,并帶有指向新數據庫的數據連接。單擊數據庫旁邊的加號 (+) 可以展開數據庫關系圖、表、視圖、存儲過程和函數等節點。

  表設計器
 
  可以使用表設計器創建和維護來自服務器資源治理器的數據庫表。

  要啟動表設計器,請右鍵單擊 Tables(表)節點(該節點位于創建 ServiceCall 數據庫時所創建的數據庫連接下),然后單擊 New Table(新建表)。

  表設計器包括兩部分。頂部包含一個網格,從中可以定義表中的列。Data Type(數據類型)下拉列表包括所有有效的數據類型,其中一些類型專用于 SQL Server 2000(Bigint 和 Sql_variant)。底部包含一個選項卡,從中可以指定其他列特性,就像在企業治理器的表設計器中一樣。

  創建表

  在以下過程中,我們將為 ServiceCall 數據庫創建 Customers 表和 ServiceCall 表。

  創建 Customers 表和 ServiceCall 表

  1、如圖 4 所示,定義 Customers 表的列。

VS.NET中構建數據庫應用程序(圖四)
圖 4:Customers 表的表設計器屬性表(單擊圖片以查看大圖像)

  2、右鍵單擊 CustomerID 列,然后單擊 Set Primary Key(設置主鍵);或者使用工具欄上的 Set Primary Key(設置主鍵)控件。

  3、單擊 Save(保存),然后在 Choose Name(選擇名稱)對話框中鍵入 Customers。

  4、對 ServiceCall 表重復此過程,將 ServiceCallID 設置為主鍵,將 Identity 屬性設置為 Yes,如圖 5 所示。

VS.NET中構建數據庫應用程序(圖五)
圖 5:ServiceCall 表的表設計器屬性表(單擊圖片以查看大圖像)

  除了在表中定義列和鍵以外,用戶還可以使用表設計器創建和修改表的關系、約束和索引等。
QQRead.com 推出數據恢復指南教程 數據恢復指南教程 數據恢復故障解析 常用數據恢復方案 硬盤數據恢復教程 數據保護方法 數據恢復軟件 專業數據恢復服務指南 創建 ServiceCall 表和 Customers 表之間的關系

  1、打開 ServiceCall 表的表設計器,右鍵單擊列網格中的任意位置,然后選擇 Relationships(關系);或者使用工具欄上的 Manage Indexes and Keys(治理索引和鍵)控件。屏幕將顯示 Property Pages(屬性頁)對話框。

  2、單擊 Relationships(關系)選項卡,然后單擊 New(新建)。關系名稱默認為 FK_ServiceCall_Customers。

  3、將主鍵表定義為 Customers,將主鍵列定義為 CustomerID。

  4、將外鍵表定義為 ServiceCall,將外鍵列定義為 CustomerID。

VS.NET中構建數據庫應用程序(圖六)
圖 6:Property Pages(屬性頁)對話框

  5、單擊 Close(關閉),然后單擊 Save(保存)。

  這樣,SQL Server 將確保 ServiceCall 數據庫不會在 ServiceCall 表中包含這樣的行,即其 CustomerID 不會出現在 Customers 表中。

  在表設計器中,一個專門用于 SQL Server 2000 的功能是定義級聯引用完整性。

  在表之間聲明引用完整性
 
  1、在服務器資源治理器中,右鍵單擊 Customers 表,然后選擇 Design Table(設計表)。將打開表設計器。

  2、單擊 Relationships(關系)。將顯示 Property Pages(屬性頁)對話框,其中已選定 Relationships(關系)選項卡。在對話框底部,有以下兩個選項:

   Cascade Update Related Fields(級聯更新相關字段)- 在主鍵更新后,使數據庫將新鍵值傳播到相應的外鍵。

   Cascade Delete Related Records(級聯刪除相關的記錄)- 刪除主鍵表中的行時,使數據庫從外鍵表中刪除相應的行。

  3、選擇 Cascade Delete Related Records(級聯刪除相關的記錄),單擊 Close(關閉),然后單擊 Save(保存)。設置此選項將使 SQL Server 從 ServiceCall 表中刪除與從 Customers 表中刪除的每行的 CustomerID 匹配的所有行。

  注重:系統將顯示一個 Save Warning(保存警告)對話框,其中顯示消息“以下各表將保存到數據庫中。是否繼續?”。將列出 Customers 表和 ServiceCall 表。單擊 Yes(是)。顯示保存警告信息是因為打開了 Warn about Tables Affected(表受到影響時警告)選項;您可以在 Save Warning(保存警告)對話框中關閉此選項。

VS.NET中構建數據庫應用程序(圖七)
圖 7:選中了 Cascade Delete Related Records(級聯刪除相關的記錄)的 Relationships(關系)選項卡

  重要信息:要使用示例數據填充表,請在 SQL 查詢分析器中運行附錄 1 中的數據庫加載腳本。 QQRead.com 推出數據恢復指南教程 數據恢復指南教程 數據恢復故障解析 常用數據恢復方案 硬盤數據恢復教程 數據保護方法 數據恢復軟件 專業數據恢復服務指南 數據庫設計器

  數據庫設計器是一個圖形界面,可用于添加或修改數據庫表、關系、索引、鍵和約束等。

  注重:數據庫設計器要求使用 Visual Studio .NET Enterprise Edition。

  您可以為給定的數據庫創建任意數目的關系圖,一個表可以出現在任意數目的關系圖中。這些關系圖還可以用來記錄數據庫的設計。

  使用 SQL Server 數據庫關系圖時,需要注重一些事項。有關具體信息,請參閱 Visual Studio .NET 文檔中的“SQL Server 數據庫的數據庫設計器注重事項”。該主題包含了更改數據類型、區分大小寫以及其他信息。

  創建數據庫關系圖

  1、打開數據庫設計器:在服務器資源治理器的數據庫節點下,右鍵單擊 Database Diagrams(數據庫關系圖),然后單擊 New Diagram(新建圖表)。將打開數據庫設計器,并顯示 Add Table(添加表)對話框,從中可以將現有表添加到關系圖中。

  2、將 Customers 表和 ServiceCalls 表添加到關系圖中,然后單擊 Close(關閉)。

  3、關閉數據庫設計器,然后保存該關系圖(假如需要)。

  創建關系圖后,您可以右鍵單擊關系圖的背景將新表添加到關系圖或數據庫中。也可以右鍵單擊一個表以維護列、鍵、索引、約束和關系等。數據庫設計器與 SQL Server 企業治理器中的關系圖工具非常類似(參閱圖 8)。

VS.NET中構建數據庫應用程序(圖八)
圖 8:數據庫設計器關系圖窗格

  示例應用程序

  為了演示其余的可視化數據庫工具和數據訪問類,我們將使用剛剛創建的 ServiceCall 數據庫生成一個示例應用程序。

  要開始示例應用程序,需要創建一個新的 Visual Studio .NET 項目。

  創建新項目

  1、在 File(文件)菜單中,選擇 New(新建),然后單擊 Project(項目)。

  2、在 Project Types(項目類型)下,單擊 Visual Basic Projects(Visual Basic 項目),然后在 Templates(模板)下,單擊 Windows application(Windows 應用程序)。

  3、將項目命名為 ServiceCall,然后單擊 OK(確定)。這樣便創建了一個解決方案和一個項目,兩者都名為“ServiceCall”。每個 Visual Studio .NET 解決方案都可以包含一個或多個項目。

  4、打開服務器資源治理器窗口:在 View(視圖)菜單中,單擊 Server Explorer(服務器資源治理器)。假如展開 Data Connections(數據連接)節點,可以看到先前創建的指向 ServiceCall 數據庫的連接。

  生成此示例應用程序的第一步是創建一個用戶定義的函數,以計算一個服務調用的總成本 ((LaborRate * Hours) + PartsCost)。用戶定義的函數可以是標量值函數或表值函數(創建用戶定義的函數要求使用 Visual Studio .NET Enterprise Edition)。標量值函數返回一個標量數據類型的單個值,并且可以顯示在任何顯示列名稱的查詢中。表值函數返回一個表,可用于 Transact-SQL 查詢的 FROM 子句中。在 Visual Studio .NET 中,可以創建三種類型的用戶定義函數:

   標量值函數 - 返回單個標量值的函數。
   
   內聯函數 - 一種表值函數,返回通過單個 SELECT 語句定義的表值。

   表值函數 - 一種表值函數,返回一個通過多個 Transact-SQL 語句定義的表。表值函數也稱為多語句函數。

  創建函數

  1、在服務器資源治理器中剛剛創建的連接下,右鍵單擊 Functions(函數)節點,然后選擇 New Scalar-valued function(新建標量值函數)。將打開 SQL 編輯器,該編輯器用于創建和維護函數及存儲過程。系統提供了一個模板幫助您創建函數。

  2、復制以下代碼并將其粘貼到 SQL 編輯器中以創建函數:


Create FUNCTION dbo.ComputeServiceCallTotal
(@LaborRate money = 0,
@Hours float = 0,
@PartsCost money = 0)
RETURNS money
AS
BEGIN
RETURN ((@LaborRate * @Hours) + @PartsCost)
END  3、單擊 Save(保存)保存函數,或者在 File(文件)菜單中,單擊 Save <function name>(保存 <函數名稱>)。函數將作為對象保存在數據庫中。 QQRead.com 推出數據恢復指南教程 數據恢復指南教程 數據恢復故障解析 常用數據恢復方案 硬盤數據恢復教程 數據保護方法 數據恢復軟件 專業數據恢復服務指南 SQL 編輯器

  SQL 編輯器使用顏色代碼區分 Transact-SQL 要害字,從而盡可能減少語法錯誤并使代碼更易于閱讀。它還提供了用來創建新函數和存儲過程的模板。SQL 編輯器還在每個 Transact SQL 語句的四周放置了細線框,用于將 Transact-SQL 代碼分隔成命令段,并標識可以使用查詢和視圖設計器生成和修改的 Transact-SQL 語句塊。

  查詢和視圖設計器

  為了演示查詢和視圖設計器是如何工作的,我們將在服務器資源治理器中創建一個存儲過程,該存儲過程使用了我們剛剛創建的函數。

  創建存儲過程

  1、在 ServiceCall 連接下,右鍵單擊 Stored Procedures(存儲過程)節點,然后單擊 New Stored Procedure(新建存儲過程)。這將打開 SQL 編輯器窗口,其中帶有一個新的存儲過程模板。

VS.NET中構建數據庫應用程序(圖九)
圖 9:創建存儲過程模板

  2、在 SQL 編輯器窗口中,為 BrowseInvoiceTotals 存儲過程鍵入以下代碼:

Create PROCEDURE dbo.BrowseInvoiceTotals as
Declare @TotalInvoice as money
Set @TotalInvoice = dbo.ComputeServiceCallTotal(50, 5, 200)
Select c.CustomerID, c.CustomerName, sc.ServiceDate,
dbo.ComputeServiceCallTotal(sc.LaborRate, sc.Hours, sc.PartsCost)
as TotalInvoice
From Customers c
Inner Join ServiceCall sc on c.CustomerID = sc.CustomerID
Return  注重:用來聲明和計算硬編碼的 @TotalInvoice 值的代碼僅用于演示目的。

  完成存儲過程后,單擊 File(文件)菜單中的 Save(保存),將存儲過程保存在數據庫中。

  請注重 SELECT 語句四周的細線框。在 Transact-SQL 查詢框中單擊右鍵,然后單擊 Design SQL Block(設計 SQL 塊)。這將啟動查詢和視圖設計器,可用于以圖形化的方式生成或修改查詢(參閱圖 10)。

VS.NET中構建數據庫應用程序(圖十)
圖 10:查詢和視圖設計器表(單擊圖片以查看大圖像)

  查詢和視圖設計器包括四個部分。最上面的部分包含關系圖窗格,其中顯示正在查詢的表。您可以添加或刪除表、選擇或取消選擇列、添加或刪除表聯接以及在此部分中按列指定順序。第二部分包含網格窗格,其中顯示查詢中的列,并答應您選擇排序類型和排序順序、過濾標準以及按列分組。第三部分包含 SQL 窗格,其中顯示查詢的 SQL 語法。假如在此窗格中修改查詢,其他窗格將更新以反映這些更改。假如對查詢所做的更改無法在其他窗格中表示出來,這些更改將不可用。第四部分包含結果窗格,其中顯示執行查詢后的查詢結果。

  查詢和視圖設計器對于視圖和查詢的工作原理相同,只是有些功能是專用于視圖的。其中一個專用于 SQL Server 2000 的功能就是創建索引視圖。 QQRead.com 推出數據恢復指南教程 數據恢復指南教程 數據恢復故障解析 常用數據恢復方案 硬盤數據恢復教程 數據保護方法 數據恢復軟件 專業數據恢復服務指南 創建索引視圖

  1、打開服務器資源治理器,右鍵單擊 Views(視圖),然后單擊 New View(新建視圖)。將顯示 Add Table(添加表)對話框。

  2、將 Customers 表添加到視圖中,然后關閉 Add Table(添加表)對話框。

  3、在關系圖窗格中,選中 CustomerID 復選框和 CustomerName 復選框。

  4、要使用索引,請右鍵單擊關系圖窗格的背景,然后單擊 Manage Indexes(治理索引)。這將打開 Indexes(索引)對話框,從中可以指定關聯的索引。您必須對視圖中的表具有適當權限才能創建索引視圖。

  5、關閉 Indexes(索引)對話框,然后關閉查詢和視圖設計器。

  您也可以使用查詢設計器瀏覽表和更新表的內容。

  在服務器資源治理器中,依次展開 ServiceCall Data Connection(ServiceCall 數據連接)節點和 Tables(表)節點并右鍵單擊一個表,然后單擊 Retrieve Data from Table(從表中檢索數據)。
與表內容一同出現的數據網格就是查詢設計器數據網格。請注重,一個工具欄將與數據網格一同打開,該工具欄可用于訪問關系圖窗格、SQL 窗格、網格窗格以及查詢設計器的結果窗格。同樣,這些功能也非常類似于企業治理器中的功能。

  調試存儲過程

  服務器資源治理器中另外一個強大的功能是存儲過程調試。要調試 BrowseInvoiceTotals 存儲過程,請打開服務器資源治理器,然后定位到 ServiceCall 連接中的 Stored Procedure(存儲過程)節點。右鍵單擊 BrowseInvoiceTotals,然后單擊 Step Into Stored Procedure(單步執行存儲過程)。也可以雙擊存儲過程打開編輯器,然后單擊 Database(數據庫)菜單中的 Step Into Stored Procedure(單步執行存儲過程)。

  按 F11 鍵單步執行存儲過程,并注重當執行到語句 Set @TotalInvoice = dbo.ComputeServiceCallTotal(50, 5, 200) 時,調試器將離開存儲過程并進入該函數。完成函數的調試后,調試器將返回存儲過程。可以將鼠標指針移到 @TotalInvoice 變量之上,或者右鍵單擊該變量并設置一個觀察變量,以查看該變量的內容。也可以在 Locals(本地變量)窗口中查看變量的內容:在 Debug(調試)菜單中,突出顯示 Windows(窗口),然后單擊 Locals(本地變量)。在圖 11 中,執行 Set 語句后,Locals(本地變量)窗口中顯示 @TotalInvoice 的值為 450.0000。同樣,從 Visual Studio .NET IDE 中也可以訪問 Transact-SQL 語句調試工具。

VS.NET中構建數據庫應用程序(圖十)
圖 11:SQL 調試器窗口表(單擊圖片以查看大圖像)

  SQL 調試器具有某些局限性,其中包括:

   表變量不能在 Locals(本地變量)窗口中顯示。

   Sql_variant、text、ntext、image 和 cursor 變量可以在 Locals(本地變量)窗口中顯示,但只能用于顯示。

   不支持大于 64 KB 的存儲過程。

   不支持超過 32 層嵌套存儲過程調用。

   不支持向一個存儲過程傳遞的參數超過 1023 個。

   有關其他局限性,請參閱 SQL Debugging Limitations(英文)。

  注重:SQL 調試器使用分布式組件對象模型 (DCOM) 進行客戶端計算機和 SQL Server 之間的通信。為了使調試器能夠正常工作,必須使用 Dcomcnfg.exe 設置正確的 DCOM 權限。有關具體信息,請參閱 Troubleshooting the Transact-SQL Debugger(英文)。此外,要進行調試,SQL Server 不能作為系統帳戶運行。與 MSSQLSERVER 服務相關聯的登錄必須是一個有效的用戶帳戶。
QQRead.com 推出數據恢復指南教程 數據恢復指南教程 數據恢復故障解析 常用數據恢復方案 硬盤數據恢復教程 數據保護方法 數據恢復軟件 專業數據恢復服務指南  數據集

  現在,我們已具備 ServiceCall 數據庫和連接、一個用戶定義的函數以及一個存儲過程。下一步,我們將使用該存儲過程來創建一個用于填充數據網格的數據集。

  創建數據集

  1、打開工具箱:在 View(視圖)菜單中,單擊 Toolbox(工具箱)。

  2、在工具箱中,單擊 Data(數據)選項卡,然后將一個 SqlDataAdapter 控件拖到 Form1 上。這將在 Form1 的設計窗口底部放置一個 SqlDataAdapter1 圖標,并啟動數據適配器配置向導。數據適配器配置向導收集與適配器將要治理的數據有關的信息。

  3、當向導提示您提供要使用的數據連接時,請指定 ServiceCall 連接。

VS.NET中構建數據庫應用程序(圖十二)
圖 12:選擇數據連接屬性表

  4、下一步,從以下選項中選擇一種查詢類型:

   Use SQL statements(使用 SQL 語句)- 提供 Transact-SQL 語句或使用查詢生成器以圖形方式設計查詢。

   Create new stored procedures(創建新存儲過程)- 向導自動基于自身提供的 Transact-SQL 語句創建選擇、插入、更新和刪除等存儲過程。

   Use existing stored procedures(使用現有存儲過程)- 最多可以指定四個現有的存儲過程,分別對應以下四種操作。您不必指定全部四個存儲過程。對于指定的每個存儲過程,SqlDataAdapter 被配置為將存儲過程與相應的數據庫操作相關聯:

    選擇 - 從數據庫中讀取現有數據

    插入 - 向數據庫的一個或多個表中插入新行

    更新 - 更新現有的行

    刪除 - 刪除現有的行

   無論選擇何種查詢類型,都可以選擇使用圖形化的查詢工具來生成查詢,并從以下高級 Transact-SQL 生成選項中進行選擇:

   Use the Select statement(使用 Select 語句)- 基于 Select 語句生成 Insert、Update 和 Delete 語句。

   Use optimistic concurrency(使用開放式并發)- 修改 Update 和 Delete 語句以確定在記錄被加載到數據集后數據庫是否發生了改變。

   Refresh the dataset(刷新數據集)- 添加一個 Select 語句以檢索標識列值并刷新由數據庫計算的值。

   選擇 Use existing stored procedures(使用現有存儲過程)作為查詢類型。

VS.NET中構建數據庫應用程序(圖十三)
圖 13:選擇查詢類型屬性表

  5、在 Bind Commands to Existing Stored Procedures(將命令綁定到現有存儲過程)頁面的 Select(選擇)下拉列表框中,選擇 BrowseInvoiceTotals。

VS.NET中構建數據庫應用程序(圖十四)
圖 14:將命令綁定到現有存儲過程屬性表

  6、忽略 Insert(插入)、Update(更新)和 Delete(刪除)下拉列表。單擊 Next(下一步),然后單擊 Finish(完成)。

VS.NET中構建數據庫應用程序(圖十五)
圖 15:查看向導結果

  下一步,我們將配置 SqlDataAdapter 生成的數據集。 QQRead.com 推出數據恢復指南教程 數據恢復指南教程 數據恢復故障解析 常用數據恢復方案 硬盤數據恢復教程 數據保護方法 數據恢復軟件 專業數據恢復服務指南 配置數據集

  1、在 Form1 上右鍵單擊 SqlDataAdapter1 圖標,然后單擊 Generate Dataset(生成數據集)。

VS.NET中構建數據庫應用程序(圖十六)
圖 16:為 SqlDataAdapter 生成數據集

  2、在 Generate Dataset(生成數據集)對話框中,選擇 New dataset(新建數據集),然后鍵入名稱 BrowseInvoiceTotalsDS。

  3、位于頁面底部的窗口中的 BrowseInvoiceTotals(SqlDataAdapter1) 應已被選中。單擊 OK(確定)。

VS.NET中構建數據庫應用程序(圖十七)
圖 17:生成數據集屬性表

  下一步,我們將為 Form1 創建窗體元素。

  創建窗體元素

  1、向 Form1 添加一個 DataGrid 控件。

  2、打開工具箱,然后單擊 Windows Forms(Windows 窗體)。

  3、將一個 DataGrid 控件拖放到 Form1 上,右鍵單擊 DataGrid 控件,然后單擊 Properties(屬性)。將 DataGrid 控件的 CaptionText 屬性更改為 Invoice Report。

  4、配置 DataGrid 控件的屬性,以將其綁定到數據:在 Properties(屬性)下的 Data(數據)部分中,將 DataSource 屬性設置為 BrowseInvoiceTotalsDS1.BrowseInvoiceTotals。

VS.NET中構建數據庫應用程序(圖十八)
圖 18:DataGrid 屬性頁(單擊圖片以查看大圖像)

  5、調整 DataGrid 控件的大小,使所有的列都可見。

  6、要填充數據集,請向 Form1 中添加一個按鈕,然后將其 Text 屬性和 Name 屬性更改為 RunReport。

  7、雙擊按鈕打開代碼窗口。將以下代碼行添加到 RunReport_Click 子例程中并保存該應用程序:


BrowseInvoiceTotalsDS1.Clear
' 使用 SqlDataAdapter 填充 DS
SqlDataAdapter1.Fill(BrowseInvoiceTotalsDS1)  現在,可以測試我們的應用程序了。運行該應用程序,然后單擊 RunReport 按鈕。SqlDataAdapter 將連接到數據庫,運行我們的存儲過程和函數,加載數據集并將數據傳遞到數據網格中。輸出結果應類似于圖 19 所示的結果。

VS.NET中構建數據庫應用程序(圖十九)
圖 19:示例應用程序的輸出
 
  下一步,我們將創建一個數據維護窗體。

  創建數據維護窗體

  1、向 ServiceCall 項目添加一個新窗體 (Form2):在解決方案資源治理器中,單擊右鍵項目名稱,然后依次單擊 Add(添加)和 Add Windows Form(添加 Windows 窗體)。

  2、在 Templates(模板)下,單擊 Windows Form(Windows 窗體)模板,然后單擊 Open(打開)。

  3、向窗體中添加一個 SqlDataAdapter 控件。將啟動數據適配器配置向導。

  4、為 SqlDataAdapter 選擇現有的 ServiceCall 連接。對于此 SqlDataAdapter 控件,我們將讓 Visual Studio .NET 為我們創建所需的存儲過程。

  5、單擊 Create new stored procedures(創建新存儲過程),然后單擊 Next(下一步)。將打開 Generate the stored procedures(生成存儲過程)頁面。

  6、單擊查詢生成器,將 Customers 表添加到查詢,然后關閉 Add Table(添加表)對話框。

  7、在關系圖窗格中,選擇所有的列,然后依次單擊 OK(確定)和 Next(下一步)。

  8、在 Create the Stored Procedures(創建存儲過程)屬性頁中,分別為四個新存儲過程提供一個名稱(此示例中使用 Customersselect、CustomersDelete、CustomersInsert 和 CustomersUpdate),然后單擊 Next(下一步)。

  9、當向導的最后一頁顯示成功生成所有存儲過程的消息時,單擊 Finish(完成)。

  10、打開 SqlDataAdapter 控件的屬性頁,查看以下屬性;這些屬性的值被設置為我們所提供的存儲過程名稱:

   SelectCommand.CommandText 的值為 CustomersSelect。
   DeleteCommand.CommandText 的值為 CustomersDelete。
   InsertCommand.CommandText 的值為 CustomersInsert。
   UpdateCommand.CommandText 的值為 CustomersUpdate。   Visual Studio .NET 創建了四個存儲過程(基于我們提供的 Select 語句)、將其編譯到數據庫并配置了 SqlDataAdapter 控件以使用這些存儲過程。

  下一步要生成我們為 Form2 創建的 SqlDataAdapter 的數據集。

  生成數據集

  1、右鍵單擊 SqlDataAdapter,然后單擊 Generate DataSet(生成數據集)。

  2、將數據集命名為 CustomersDS。

  3、向窗體添加 DataGrid 控件,然后將該控件的 DataSource 屬性設置為 CustomersDS1.Customers、CaptionText 屬性設置為 Maintain Customers。

  4、調整 DataGrid 控件的大小,使所有的列都可見。

  5、在數據網格下添加一個按鈕,將其 Text 屬性和 Name 屬性更改為 Load。

  6、在第一個按鈕旁添加另一個按鈕,將其 Text 屬性和 Name 屬性更改為 Update。

  7、雙擊 Load 按鈕打開代碼窗口,然后向 Load 按鈕的單擊事件中添加以下代碼:

CustomersDS1.Clear()
SqlDataAdapter1.Fill(CustomersDS1)   8、在 Update 按鈕的單擊事件中,添加以下代碼:

SqlDataAdapter1.Update(CustomersDS1)  運行應用程序之前,必須將項目的 Startup 對象更改為 Form2。

  更改 Startup 對象

  1、在解決方案資源治理器中,右鍵單擊 ServiceCall 項目,然后單擊 Properties(屬性)。

  2、在 Startup object(啟動對象)下,將 Startup 對象更改為 Form2,然后單擊 OK(確定)。

  運行應用程序以打開維護窗體 (Form2)。單擊 Load 按鈕加載帶有表中現有數據的數據網格。屏幕應類似于圖 20 所示。

VS.NET中構建數據庫應用程序(圖二十)
圖 20:示例應用程序輸出結果(單擊圖片以查看大圖像)
QQRead.com 推出數據恢復指南教程 數據恢復指南教程 數據恢復故障解析 常用數據恢復方案 硬盤數據恢復教程 數據保護方法 數據恢復軟件 專業數據恢復服務指南 更新 ServiceCall 數據庫

  1、要刪除行,請單擊該行,然后按 Delete(刪除)鍵。

  2、要添加新行,請單擊網格末尾空行中的任意單元格,然后提供相應的值。

  3、完成更改后,單擊 Update(更新)。

  系統將檢查網格中每一行的 RowStatus、調用相應的存儲過程并傳入正確的參數以處理請求的操作。

  此示例展示了 Visual Studio .NET IDE 和框架的強大功能。我們僅使用了幾行代碼,就創建了功能完備的表維護應用程序。

  使用 ADO.NET 訪問 SQL Server

  Microsoft .NET Framework 提供了名為 ADO.NET 的 ADO 的新版本。ADO.NET 功能得到了增強,能夠更好地支持分布式應用程序的開發,并主要依靠 XML 作為其內部數據結構。

  在以前版本的 ADO 中,Recordset 對象是開發人員用于處理來自數據存儲的數據的主要對象。在 ADO.NET 中,DataSet 對象取代了 Recordset 對象。DataSet 是用戶使用的數據在內存中的副本。DataSet 可以包含一個或多個 DataTables。您可以將 DataSet 視為一個虛擬關系數據庫。DataSet 完全獨立于原始數據源,而且不是用來與數據源進行直接通信。ADO.NET 是使用托管提供程序與數據源進行通信的。

  ADO.NET 提供兩種托管提供程序:一種用于 SQL Server 數據庫,另一種用于任何 OLE DB 兼容數據庫。到目前為止,我們創建的所有示例都使用了 SQL Server 托管提供程序。假如查看工具箱中 Data(數據)下的選項,您會注重到三對名稱相同但前綴不同的控件。下表列出了這三對控件。
    SQL ServerOLE DB SqlDataAdapter OLEDBDataAdapterSqlDataConnectionOLEDBDataConnection SqlCommandOLEDBCommand   前綴為 OLEDB 的控件表示 OLE DB 托管提供程序,可用于訪問所有與 OLE DB 兼容的數據庫。這些控件與當前的 ADO 對象類似,但已被改寫為托管代碼,因而可以在 .NET Framework 中使用。

  前綴為 SQL 的控件表示 SQL Server 托管提供程序,只能用于 SQL Server。與其 OLE DB 的對應控件相比,這些控件具有一些優點。首先,這些對象使用本地表格數據流 (TDS) 接口以獲得最佳性能。OLE DB 對象所需的其他接口層已被刪除,這使數據庫的訪問速度更快。其次,從這些控件中創建的 SQL 對象具有其他一些方法,這些方法利用了專用于 SQL Server 的功能。這為使用 SQL Server 進行設計和編程提供了更大的靈活性。

  我們在前面創建的示例應用程序中使用了 ADO.NET,而 Visual Studio .NET 為我們處理了大多數編碼工作,我們所要做的就是通過 IDE 的用戶界面配置數據集和數據適配器。現在,讓我們看看使用 ADO.NET 從表中選擇、插入、更新和刪除數據時所需的 Microsoft Visual Basic? .NET 編碼。首先看一下 Select 語句的代碼:

Dim strCmdText As String
Dim rowsProcessed As Integer
Dim CustomerDS As New DataSet()
strCmdText = "Select * from Customers"
Dim SqlDataAdapter2 As New SqlDataAdapter(strCmdText, _
"Data Source=localhost;Initial Catalog=ServiceCall;User
ID=sa;passsword=yourpassword")
SqlDataAdapter2.Fill(CustomerDS, "Customers")   在此代碼示例中,我們首先定義了要使用的變量和對象,其中包括 CustomersDS,它是一個 ADO.NET DataSet 對象。然后我們定義了查詢,該查詢將填充變量 strCmdText 中的數據集。下一步,我們定義一個 ADO.NET SqlDataAdapter 對象 (SqlDataAdapter2),將查詢和數據庫連接字符串作為參數提供。請注重,我們使用的是 SQL Server ADO.NET 托管提供程序。最后,通過調用 SqlDataAdapter 對象的 Fill 方法,填充 CustomerDS 并在名為 Customers 的 DataSet 中創建一個表。

  因為 SqlDataAdapter2 是使用查詢和連接串字符串定義的,所以 Fill 方法將建立到 SQL Server 數據庫的連接、執行查詢并將結果返回到 DataSet。

  下一步,我們將看一看在表中插入行的代碼:

Dim strCmdText As String
Dim rowsProcessed As Integer
Dim sqlConn As New SqlConnection _
("Data Source=localhost;Initial Catalog=ServiceCall;User
ID=sa;password=yourpassword")
strCmdText = "INSERT INTO Customers VALUES ('Cust4', 'Customer Four', " _
& "'Cust4 Address', 'City', 'ST', '11111','(888)-123-4567')"
Dim sqlCmd As New SqlCommand(strCmdText, sqlConn)
sqlCmd.Connection.Open()
rowsProcessed = sqlCmd.ExecuteNonQuery()
  我們首先定義將要使用的對象和變量。然后創建一個 ADO.NET SqlConnection 對象 (sqlConn),并將連接字符串作為參數傳遞給該對象。然后定義查詢,該查詢將行插入到變量 strCmdText 中的 Customers 表中。

  下一步,我們定義一個 ADO.NET SqlCommand 對象,并將查詢和 SqlConnection 對象作為參數傳遞給該對象。然后,我們打開 SqlCommand 對象上的連接,并調用 ExecuteNonQuery 方法。ExecuteNonQuery 方法返回數據庫操作所影響的行的數目。

  除了傳遞給 SqlCommand 對象的查詢以外,更新和刪除表的代碼與插入操作的代碼基本相同。本文列出了這些代碼,但因為它與插入操作的代碼相同,所以沒有對該代碼進行贅述。

  以下代碼將更新表中的一行:

Dim strCmdText As String
Dim rowsProcessed As Integer
Dim sqlConn As New SqlConnection _
("Data Source=localhost;Initial Catalog=ServiceCall;User
ID=sa;password=yourpassword")
strCmdText = "Update Customers Set CustomerName = 'Updated Customer' " _
& "Where CustomerID = 'Cust4'"
Dim sqlCmd As New SqlCommand(strCmdText, sqlConn)
sqlCmd.Connection.Open()
rowsProcessed = sqlCmd.ExecuteNonQuery()  以下代碼將刪除表中的一行。

Dim strCmdText As String
Dim rowsProcessed As Integer
Dim sqlConn As New SqlConnection _
("Data Source=localhost;Initial Catalog=ServiceCall;User ID=sa")
strCmdText = "Delete Customers Where CustomerID = 'Cust4'"
Dim sqlCmd As New SqlCommand(strCmdText, sqlConn)
sqlCmd.Connection.Open()
rowsProcessed = sqlCmd.ExecuteNonQuery()  這些示例展示了如何使用 SqlCommand 對象的 ExecuteNonQuery 方法。SqlCommand 對象還具有其他幾個方法,包括專用于 SQL Server 處理 XML 數據的方法。在下一個示例中,我們將介紹它的工作原理。 QQRead.com 推出數據恢復指南教程 數據恢復指南教程 數據恢復故障解析 常用數據恢復方案 硬盤數據恢復教程 數據保護方法 數據恢復軟件 專業數據恢復服務指南 XML 和 Visual Studio .NET

  SQL Server 2000 具有對 XML 的內置支持。其中一個功能是 Select 語句中的 For XML 子句,它返回一個作為 XML 的結果集。SqlCommand 對象具有 ExecuteXMLReader 方法,此方法利用 SQL Server 中的這一功能。

  下一個示例將展示 SqlCommand 對象的另一個應用。我們將查詢 Customers 表,將結果作為 XML 返回,然后在窗體的文本框中顯示該 XML。

  查詢 Customers 表并將結果作為 XML 返回

  1、向項目添加一個新窗體 (Form3) 并向該窗體添加一個文本框。將文本框的 MultiLine 屬性更改為 True、Width 屬性更改為 504、Height 屬性更改為 152(如圖 21 所示)。

VS.NET中構建數據庫應用程序(圖二十)
圖 21:TextBox 屬性頁(單擊圖片以查看大圖像)

  2、向窗體添加一個按鈕,將此按鈕的 Name 屬性和 Text 屬性更改為 GetXML。

  3、雙擊該按鈕打開單擊事件的代碼窗口,然后添加以下代碼。請記住更改數據源、用戶 ID 和密碼,使其與您的服務器匹配。

Dim XMLTxtReader As Xml.XmlTextReader
Dim StringBuilder As New System.Text.StringBuilder()
Dim XMLOutput As String
Dim SQLCommand As New System.Data.SqlClient.SqlCommand()
Dim SQLServiceCallConn As New _
System.Data.SqlClient.SqlConnection _
("Data Source=YourServer;Initial Catalog=ServiceCall;User
ID=xx;password=yourpassword")
SQLServiceCallConn.Open()
SQLCommand.Connection = SQLServiceCallConn
SQLCommand.CommandType = CommandType.Text
SQLCommand.CommandText = "Select CustomerID, CustomerName," _
& "Phone from Customers for XML auto"
' 執行 SQL 并返回 XML
XMLTxtReader = SQLCommand.ExecuteXmlReader()
StringBuilder.Append(XMLTxtReader.GetRemainder.ReadToEnd)
XMLOutput = StringBuilder.ToString()
Me.TextBox1.Text = XMLOutput
  您的代碼窗口應類似與圖 22 所示(數據源、用戶 ID 和密碼可能會有所不同)。

VS.NET中構建數據庫應用程序(圖二十二)
圖 22:帶有 GetXML_Click 子例程代碼的 Form3 的窗體類(單擊圖片以查看大圖像)

  在此代碼示例中,我們首先定義要使用的對象和變量。XMLTextReader 對象用于保存從數據庫返回的數據。StringBuilder 對象用于根據 XMLTextReader 對象中的數據創建 XML 字符串。

  首先,我們創建一個 SqlConnection 對象 (SQLServiceCallConn) 并傳入數據庫的連接參數。然后,設置 SqlCommand 對象 (SqlCommand) 的 CommandType 屬性和 CommandText 屬性。請注重,我們在查詢中使用了 For XML Auto 語句。它指示 SQL Server 將查詢結果作為 XML 字符串返回。

  然后,使用 SqlCommand 對象的 ExecuteXmlReader 方法來執行我們的 Transact-SQL 語句。此方法旨在利用 SQL Server 2000 的本地 XML 支持并返回一個 XMLTextReader 對象。最后一步是使用 StringBuilder 對象從 XMLTextReader 對象中提取一個包含從 SQL Server 返回的 XML 的字符串。

  可以通過導入 System.Text 和 System.Data.SqlClient 命名空間來縮短 StringBuilder、SqlCommand 和 SqlConnection 對象的完全限定名稱(如圖 23 所示)。為此,請在窗體類定義上方插入以下代碼:

Imports System.Text
Imports System.Data.SqlClientVS.NET中構建數據庫應用程序(圖二十三)
圖 23:使用簡寫表示法定義 StringBuilder 和 SqlConnection 對象的源代碼(單擊圖片以查看大圖像)

  要測試該應用程序,請將 Startup 對象更改為 Form3 并運行應用程序(按 F5 鍵)。單擊 GetXML。Customers 表的內容將作為 XML 返回并顯示在文本框中(如圖 24 所示)。

VS.NET中構建數據庫應用程序(圖二十四)
圖 24:示例應用程序輸出結果(單擊圖片以查看大圖像)

  SQLXML 3.0

  在前面的示例中,我們討論了 SQL Server 對 XML 的內置支持,有時也稱其為 SQLXML。SQLXML 3.0 包含以下托管類,可以簡化 SQLXML 在 Visual Studio .NET 中的使用。

類說明SqlXmlCommand 對象將 XML 數據從 SQL Server 返回到一個新的或現有的 Stream 對象,或將數據返回到一個 XMLReader 對象。此對象還包含一個用于創建參數的方法。 SqlXmlParameter 對象用于填充使用 SqlXMLCommand 對象創建的參數。 SqlXmlAdapter 對象用 SQL Server 中的 XML 數據填充數據集。此對象還將更新應用于數據集中的 SQL Server 數據。    這些托管類答應您通過多種方法處理 SQL Server 中的 XML 數據,包括:

   執行 SQL 查詢以返回 XML 數據

   對 XML 數據應用 XSL 轉換

   對 XML 數據執行 XPath 查詢

  對于最后一個示例應用程序,我們將擴展以前的示例,使用 SQLXML 托管類返回 SQL 查詢中的 XML 數據。

  重要信息:必須安裝 SQLXML 3.0 才能運行此示例應用程序。SQL Server 2000 Web Services 工具包附帶了 SQLXML 3.0,也可以從 SQLXML and XML Mapping Technologies(英文)下載 SQLXML 3.0。
必須將 SQLXML 組件引用添加到項目中后才能使用 SQLXML 托管類。

  添加 SQLXML 組件引用

  1、打開解決方案資源治理器:在 View(視圖)菜單中,單擊 Solution Explorer(解決方案資源治理器)。

  2、在 ServiceCall 項目下,右鍵單擊 References(引用),然后單擊 Add Reference(添加引用)。

  3、在 Add Reference(添加引用)對話框中,單擊 .NET 選項卡。

  4、找到名為 Microsoft.Data.SqlXml 的組件,并突出顯示該組件。

  5、單擊 Select(選擇),然后單擊 OK(確定)。

  6、保存 ServiceCall 項目。

  7、打開 Form3.vb,在該窗體中 GetXML 按鈕旁邊添加一個新按鈕,然后將新按鈕的 Name 屬性和 Text 屬性更改為 SQLXML。

  8、雙擊 SQLXML 按鈕打開單擊事件的代碼窗口并添加以下代碼。請記住更改數據源、用戶 ID 和密碼,使其與您的服務器匹配。

Dim strm As System.IO.Stream
Dim sqlXmlCmd As New Microsoft.Data.SqlXml.SqlXmlCommand _
("Provider=SQLOLEDB;Data Source=localhost;" _
& "Initial Catalog=ServiceCall;User ID=sa;password=yourpassword")
sqlXmlCmd.CommandType = Microsoft.Data.SqlXml.SqlXmlCommandType.Sql
sqlXmlCmd.CommandText = ("Select CustomerID, CustomerName," _
& "Phone from Customers for XML auto")
strm = sqlXmlCmd.ExecuteStream()
Dim streamRdr As New System.IO.StreamReader(strm)
Me.TextBox1.Text = streamRdr.ReadToEnd().ToString
  在此代碼示例中,我們首先定義要使用的對象和變量。Stream 對象 (strm) 將保存從查詢返回的 XML 數據。然后,定義 SqlXmlCommand 對象 (sqlXmlCmd),并將連接字符串作為參數傳遞給該對象。

  下一步,設置 SqlXmlCommand 對象上的參數。CommandType 被設置為 Sql,它是一個默認值,在此列出以幫助您理解。CommandText 被設置為查詢的值,該查詢就是我們在此示例的第一部分使用的同一個查詢。然后,我們將調用 SqlXmlCommand 對象的 ExecuteStream 方法,該方法將執行 SQL 語句,并將 XML 數據放入 Stream 對象中。

  下一步,我們定義 StreamReader 對象 (streamRdr),并將 Stream 對象 (strm) 作為參數傳遞給該對象。這樣將使用 XML 數據填充 StreamReader 對象。在最后一步中,我們將加載帶有來自 StreamReader 對象的 XML 數據的文本框。

  應仍將 Startup 對象設置為 Form3,然后保存項目、運行應用程序(按 F5 鍵)并單擊 SQLXML 按鈕。輸出結果應該與單擊 GetXML 按鈕時的輸出完全一樣,如圖 24 所示。 QQRead.com 推出數據恢復指南教程 數據恢復指南教程 數據恢復故障解析 常用數據恢復方案 硬盤數據恢復教程 數據保護方法 數據恢復軟件 專業數據恢復服務指南 數據庫項目

  通過 Visual Studio .NET,您可以創建為腳本、查詢、數據備份文件和命令文件提供儲備庫的數據庫項目。創建和維護數據庫項目的方法與其他 Visual Studio .NET 項目相同。通過解決方案資源治理器可以訪問數據庫項目,其中提供了解決方案內所有項目的分層視圖。

  創建數據庫項目

  1、打開解決方案資源治理器:在 View(視圖)菜單中,單擊 Solution Explorer(解決方案資源治理器)。

  2、右鍵單擊 Solution 'ServiceCall',突出顯示 Add(添加),然后單擊 New Project(新建項目)。

  3、在 Project Types:(項目類型:)下,展開 Other Projects(其他項目)文件夾,然后單擊 Database Projects(數據庫項目)。

  4、在 Templates(模板)下,單擊 Database Project(數據庫項目)模板。

  5、將項目命名為 ServiceCallDB,然后單擊 OK(確定)。

VS.NET中構建數據庫應用程序(圖二十五)
圖 25:Add New Project(添加新項目)對話框(單擊圖片以查看大圖像)

  6、在 Add Database Reference(添加數據庫引用)對話框中,選擇 ServiceCall 數據庫的連接,然后單擊 OK(確定)創建項目。

VS.NET中構建數據庫應用程序(圖二十六)
圖 26:Add Database Reference(添加數據庫引用)對話框

  生成創建腳本和導出數據

  注重:生成創建腳本需要使用 Visual Studio .NET Enterprise Edition。

  生成創建腳本工具是服務器資源治理器中另一個專用于 SQL Server 的功能,此工具有助于使開發人員的工作更加輕松。使用生成創建腳本工具,您可以編寫整個數據庫或者數據庫中的選定對象的腳本文件。然后可以使用該腳本文件來恢復數據庫或對象,或在其他服務器上部署數據庫。

  除了創建腳本外,您還可以從單個表中導出數據。這在測試過程中這是一個很有用的工具。假如需要進行多次重復測試,而在這期間表將被更新或刪除,則可以將表中的數據導出到一個文件中,然后在每個測試開始時恢復,以提供一個一致的起點。

  為了演示這些功能,我們將編寫 Customers 表的腳本,并將數據導出到一個備份文件,以便能夠將數據恢復到其初始狀態。

  生成腳本

  1、在服務器資源治理器中的 Data Connections(數據連接)下,展開 Tables(表)節點,右鍵單擊 Customers 表,然后單擊 Generate Create Scripts(生成創建腳本)。假如使用的不是 Windows 2000 或者 Windows NT 的集成安全性,系統可能會提示您為運行 SQL Server 的計算機提供用戶 ID 和密碼。將打開 Generate Create Scripts(生成創建腳本)對話框(使用過 SQL Server 企業治理器的用戶應該對此對話框非常熟悉)。

  2、該對話框包含三個選項卡:General(常規)、Formatting(設置格式)和 Options(選項)。接受這三個選項卡的默認設置,然后單擊 OK(確定)。將打開 Browse for Folder(瀏覽文件夾)對話框。請注重,Visual Studio .NET 已經選擇了前面創建的數據庫項目中的 Create Scripts 文件夾。

  3、單擊 OK(確定)。將創建 Customers 表的腳本,此腳本將置于 Database Project 文件夾中。
將創建以下四個文件。


文件說明 Dbo.Customers.tab包含一個用來創建表的 SQL 腳本 Dbo.Customers.kci包含一個用來創建主鍵和索引的 SQL 腳本Dbo.Customers.fky包含一個用來創建外鍵的 SQL 腳本 Dbo.Customers.ext包含一個用來創建擴展屬性的 SQL 腳本   將數據表導出到文件

  1、在服務器資源治理器中,右鍵單擊 Customers 表,然后單擊 Export Data(導出數據)。將再次打開 Browse for Folder(瀏覽文件夾)對話框,并定位到數據庫項目中的 Create Scripts(創建腳本)文件夾。

  2、單擊 OK(確定)。Customers 表中的數據將被放置在名為 Dbo.Customers.dat 的文件中。

  數據庫項目命令文件

  重要信息:命令文件要求使用 Visual Studio .NET Enterprise Edition。

  使用命令文件可以將數據庫項目中的多個腳本打包到一個命令中,從而將多個腳本的處理簡化為一個步驟。

  創建命令文件

  1、在解決方案資源治理器中,右鍵單擊包含要打包的腳本的數據庫項目文件夾(本示例中為 Create Scripts [創建腳本] 文件夾)。

  2、單擊 Create Command File(創建命令文件)。將顯示 Create Command File(創建命令文件)對話框。
 
  3、將文件命名為 RestoreCustomers.cmd。

  4、選擇要包含到文件中的驗證類型和腳本。在本示例中,請單擊 Add All >>(全部添加 >>),然后單擊 Add Data(添加數據)。將顯示 Add Data(添加數據)對話框。

  5、Add Data(添加數據)對話框顯示該命令文件可以使用的所有數據文件。選擇 Dbo.Customers.dat,然后單擊 OK(確定)。

  6、在 Create Command File(創建命令文件)對話框中,單擊 OK(確定)。RestoreCustomers.cmd 文件將被置于 Create Scripts(創建腳本)文件夾中。

  運行命令文件

  在數據庫項目中,右鍵單擊命令文件,然后單擊 Run(運行)。

  注重:命令文件只有在 Windows 2000 Server 或更高版本中才能正常運行。

  小結

  本文中的示例演示了 Visual Studio .NET IDE 中內置的數據庫工具的強大功能。無需退出 Visual Studio .NET IDE 即可生成完整的應用程序,其中包括數據庫、用戶定義函數、存儲過程和應用程序代碼。此外,我們還能使用 Visual Studio .NET IDE 中包含的同樣豐富的調試工具,在存儲過程上執行源代碼級別的調試。Visual Studio .NET 為您提供了更快、更好地創建應用程序所需的工具。

  附錄: 數據庫裝載腳本

  要使用示例數據填充 ServiceCall 數據庫中的表,請在 SQL 查詢分析器中運行以下數據庫加載腳本。

Use ServiceCall
Insert into Customers
values('cust1','Customer One','123 Main St.','Chicago','IL','60601','(312)
555-1212')
Insert into Customers
values('cust2','Customer Two','248 Elm
St.','Serverville','IL','60679','(872) 555-4519')
Insert into Customers
values('cust3','Customer Three','831 First
St.','Netville','IL','60831','(763) 555-6728')

Insert into ServiceCall (CustomerID, ServiceDate, LaborRate, Hours,
PartsCost)
values('cust1','Sep 14 2001 12:00AM', 55.00, 3, 200.00)
Insert into ServiceCall (CustomerID, ServiceDate, LaborRate, Hours,
PartsCost)
values('cust1','Sep 17 2001 12:00AM', 55.00, 1.5, 70.00)
Insert into ServiceCall (CustomerID, ServiceDate, LaborRate, Hours,
PartsCost)
values('cust1','Sep 19 2001 12:00AM', 55.00, 2, 0.00)
Insert into ServiceCall (CustomerID, ServiceDate, LaborRate, Hours,
PartsCost)
values('cust2','Sep 25 2001 12:00AM', 60.00, 3.5, 180.00)
Insert into ServiceCall (CustomerID, ServiceDate, LaborRate, Hours,
PartsCost)
values('cust3','Sep 27 2001 12:00AM', 65.00, 4.5, 275.00)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南宁市| 德化县| 芜湖市| 教育| 观塘区| 开平市| 淄博市| 富川| 台中县| 延吉市| 新丰县| 南靖县| 枣阳市| 资溪县| 伽师县| 新龙县| 吴江市| 安泽县| 黄龙县| 沐川县| 元氏县| 光泽县| 宁德市| 长海县| 清流县| 上高县| 宜春市| 西峡县| 莒南县| 含山县| 淮安市| 股票| 天水市| 区。| 兴宁市| 综艺| 灵丘县| 抚顺市| 乌拉特前旗| 开平市| 冷水江市|