VB6.0中的幾個新增數據庫工具

發表于:2007-07-14來源:作者:點擊數: 標簽:
在使用以前版本的Visual Basic(或簡稱VB) 開發 應用程序時,程序開發人員通常需要同時打開兩個應用程序——Visual Basic和一個 數據庫 管理程序(例如Access)?,F在,這些本來應該由數據庫設計人員完成的任務已經成為Visual Basic集成環境的一個部分,而
   在使用以前版本的Visual Basic(或簡稱VB)開發應用程序時,程序開發人員通常需要同時打開兩個應用程序——Visual Basic和一個數據庫管理程序(例如Aclearcase/" target="_blank" >ccess)?,F在,這些本來應該由數據庫設計人員完成的任務已經成為Visual Basic集成環境的一個部分,而且,在設計完成上述任務時,VB6.0提供的一些數據工具在某些方面比數據庫本身提供的工具還要好用得多。例如,我們在使用Microsoft SQL Server6.5提供的數據庫工具進行數據庫結構設計時,就會發現,要更改某個已經建成的數據庫表結構是一件非常麻煩的事情。但利用VB6.0提供的數據視圖(Data View)卻象使用Access數據庫一樣方便。下面,我就根據自己的應用體會,談談VB6.0的新增數據庫工具的特點及使用方法。本文所舉的例子用到的語言是VB6.0簡體中文企業版,用到的數據庫是Microsoft SQL Server。

  Data View(數據視圖)窗口

  Data View窗口是VB6.0工作區的第一個組成元素,就象屬性(Properities)窗口和工具欄一樣,它可以依附在VB6.0的工作區的邊界上。Data View的功能與VB中的可視化數據管理器(VisData)有點相似??梢詮墓ぞ邫诨颉耙晥D”菜單打開Data View。

  Data View窗口顯示當前為數據庫建立的所有連接,以及加入到數據庫中的數據環境(Data Enviroment)連接。有了Data View,我們就可以創建并修改表和視圖、數據庫視圖以及存儲過程和觸發器等。這樣,我們在開發應用程序時,就不需要在VB和數據庫管理程序之間來回切換,而是可以隨時利用這個窗口建立應用程序所需的各種數據連接和數據環境,并對數據庫表和查詢等進行創建和修改。同時,還可以使用VB6.0所提供的其他工具,很方便地把瀏覽窗口中的數據字段拖到查詢設計器(Query Designer)和數據報表設計器(Data Report Designer)窗口中,從而很容易地建立一個查詢或報表。

  下面舉一個新建“Microsoft SQL Server”數據視圖的例子。在執行下列步驟之前,需要在控制面板中的“32位ODBC數據源”中建立一個與SQL Server數據庫連接的“系統數據源”(System Data Sources)。假設我們已經建立了一個有關資金管理系統庫的鏈接“DSN_Funds”。

  * 單擊“視圖”菜單,并選擇“數據視圖窗口”命令;

  * 在“數據鏈接屬性”(Data Link Properties)窗口的“提供方”(Provider)標簽中選擇“Microsoft OLE DB Provider for ODBC Drivers”,單擊“繼續”(Next>>)進入“連接”(Connection);

  * 在“連接”標簽中,使用“指定數據源”(Specify the sources of data)項,再選擇“使用數據源名”(Use data source name),單擊下拉選擇框,并選擇我們已經建立的系統數據源“DSN_Funds”;如果要檢測連接情況,可以單擊“測試連接”(Test Connection),如果出現測試連接成功的提示,說明連接正確。

  * 按“確定”就完成了一個“數據視圖窗口”的建立。這時,在數據視圖窗口的“數據鏈接”下會出現“DSN_Funds”。

  Data Environment Designer(數據環境設計器)

  Data Environment是VB6.0提出的一個新概念,也是本文將要介紹的重點。它可以將許多單獨使用的對象和控件組合成一個單獨的環境,建成后的這個數據環境可用來訪問任何數據庫、查詢或加入其中的存儲過程。這樣,我們就不用再擔心程序中有多處地方用到了某個數據庫的引用,只需作一處改動,應用程序中的其他有關地方也會作出相應變動。這就給我們開發應用程序帶來極大的方便。從某種角度看,Data Environment的作用相當于一個通用的Data控件,它可以在任何情況下使用,可以連接到所有的數據庫、表以及只含一個查詢或表的對象上,而不僅僅局限于連接到某個查詢或表上。

  數據環境設計器為我們提供了一種可以很容易訪問VB工程中數據的方式。在以前的版本中,在設計時使用 ActiveX UserConnection 設計器創建遠程數據對象(Remote Data Objects)(RDO)?,F在,我們可以在設計時使用數據環境設計器創建ADO對象。數據環境設計器除了支持UserConnection設計器的所有功能外,還支持:1) Connection、Command 和Multiple Connection(多連接,即在一個數據環境中訪問多個數據源)對象;2) OLE DB數據源和 ODBC 數據源。3) 拖放功能,即從數據環境設計器中拖動字段和表到一個窗體或數據報表 ActiveX(Data Report ActiveX)設計器中,在窗體中自動地創建數據綁定控件。4)執行包含在數據環境中、作為編程的運行時方法的command。5)對綁定到窗體中控件的數據環境進行編程訪問。6)關聯 Command 對象創建一個關系層次結構的能力,或對 Command 對象分組創建一個分組層次結構的能力,以及創建合計的能力和手工綁定數據識別控件到一個 Command 對象中的 Field 對象的能力。7)數據環境擴展性對象模型,該模型允許您創建外接程序。這些外接程序可以通過編程操作 Visual Basic 工程中的任何 DataEnvironment 對象。

  下面將介紹如何在VB工程中創建一個數據環境對象,以及如何在應用程序中使用數據環境中的對象。

  假如我們要創建一個DataEnvironment(數據環境)用來訪問Microsoft SQL Server中的資金數據庫——DSN_Funds 。這個數據環境對象將作為VB工程的一部分被保存到文件中,文件的擴展名為.DSR,該擴展名代表設計工具。

  在可以訪問數據環境設計器之前,必須在 Visual Basic 中引用它。要引用數據環境設計器,請按照以下步驟執行:

  * 在“工程”菜單中,單擊“引用..."。

  * 從“引用..."對話框中,選擇“Microsoft Data Environment 1.0",然后單擊“確定”。

  要添加一個數據環境設計器對象到一個VB 工程,請按照以下步驟執行:

  * 從“新建工程”對話框的“新建”選項卡中,選擇“標準 EXE"工程,然后單擊“打開”。

  * 從“工程”菜單中,選擇“更多ActiveX 設計器...”中的“Data Environment"。

  一旦在VB 工程中添加了一個數據環境(DataEnvironment1),數據環境設計器就自動地包括一個新的連接(Connection1)。在設計時,數據環境打開連接并從該連接中獲得元數據,包括數據庫對象名、表結構和過程參數。我們使用下面的步驟來指定數據環境中新建Connection1對象的屬性。

  * 在VB "屬性”窗口中,可以將缺省的“名稱”更改為一個更有意義的名字。例如,數據源是SQL Server DSN_Funds 數據庫,就可以將Connection1更改為“Cnt_DSN_Funds"。

  * 用鼠標右鍵單擊Connection1對象并選擇“屬性”,以訪問“數據鏈接屬性”對話框。

  * 進入“數據鏈接屬性”對話框,在“提供方”選項卡中選擇 “Microsoft OLE DB Provider for ODBC Drivers”,在“連接”選項卡中指定數據源“DSN_Funds”。

  * 單擊“確定”。

  還有一個更簡便的方法來建立一個新的連接。即從“數據視圖”窗口中將一個連接拖動到數據環境設計器,自動地創建 Connection 對象。對于在“數據視圖”中已存在的 Connection 對象,用這種方式創建 Connection 對象是非常容易和高效的。

  設定完Connection1的屬性后,就可以在這個連接對象中創建命令(Command)對象了。Command 對象定義了從一個數據庫連接中獲取何種數據的詳細信息。Command 對象既可以基于一個數據庫對象(例如:一個表、視圖、存儲過程),也可以基于一個結構化查詢語言(SQL)查詢。

  要創建一個Command對象,可以采用以下步驟或方法:

  * 在數據環境設計器工具欄中單擊“添加命令”。 或右鍵單擊一個 Connection 對象或數據環境設計器,并從快捷方式菜單中選擇“添加命令”。

  * 一旦一個 Command 對象被添加,數據環境視圖就顯示新的 Command 對象。這個對象的缺省名字是“Command"和加在后面的一個數字,例如:Command1。

  * 指定 Command1 對象的屬性。即右鍵單擊Connection1 對象并選擇“屬性”訪問“Command 屬性”對話框。在對話框中,有“通用”、“關聯”、“分組”和“合計”選項卡,分別定義該數據庫來源、連接屬性及關系等,并組織 Recordset 中包含的數據。而“高級”選項卡則可以改變在運行時獲取或操作數據的方式。

  還有一種更為快捷的方法創建Command對象,就是從一個“數據視圖”中拖動一個表、視圖或存儲過程到數據環境設計器自動地創建 Command 對象。由“數據視圖”中列出的表、視圖或存儲過程來創建 Command 對象是一種簡單和高效的方法。如果與被放下的 Command 對象相關聯的 Connection 在數據環境中不存在,則自動創建一個 Connection 對象。

  在運行時,數據環境對在數據環境設計器中定義的每一個 Command 和 Connection 對象創建 ADO Command 和 Connection 對象。如果 Command 對象被標記為 Recordset Returning(在“Command Properties"對話框的“高級”選項卡中),那么也創建一個 ADO Recordset 對象。ADO Command 對象是作為數據環境運行時對象的一個方法被添加的,而 ADO Connection 和 Recordset 對象是作為屬性被添加的。

  在數據環境中,ADO Recordset 對象的名字是以“rs"開頭的,以便將它們和它們對應的 Command 對象區別開來。例如,一個名為 “用戶” 的 Command 對象創建一個名為 “rs用戶”的 Recordset 對象。在缺省情況下,Recordset 對象是關閉的。當 Recordset 對象的對應的 Command 方法執行時,Recordset 對象打開。

  在運行時,應用程序可以通過兩種方式使用數據環境:

  1. 作為綁定到窗體控件中數據的一個直接數據源。

  假設我們要將數據環境對象中一個“用戶”Command對象的字段“用戶名”綁定到窗體中的一個TextBox空間中去,則需要執行下列步驟:

  * 先將一個TextBox控件放到 Visual Basic 窗體中;

  * 在“屬性”窗口中,單擊Datasource(“數據源”)屬性,并選擇您想綁定到控件的 DataEnvironment 對象,如“DadaEnvironment1”;

  * 單擊 DataMember 屬性,并選擇數據環境中的 Command 對象 “rs用戶”;

  * 單擊 DataField 屬性,從綁定到控件的“rs用戶”Command 對象中選擇字段“用戶名”。這樣,就完成了綁定工作。

  還有一種更快捷、簡便的方法,就是將需要綁定的Command對象拖到窗體中,則窗體就會自動生成這個對象所有字段的標簽(Label)名和數據操作和顯示區(TextBox)。

  2. 編程訪問數據環境設計器中的對象。

  假設要從一個 Visual Basic 窗體中編程訪問數據環境中的對象“用戶”記錄,則照以下步驟執行(這個示例假定沒有參數與 Command 對象相關聯。):

  * 在窗體中建一個 Command 按鈕。

  * 假設附加到這個按鈕的代碼是用于將“用戶”表中的記錄向后移動。則在按鈕的 Click 事件中添加下面的代碼:

  DataEnvironment1. rs用戶.MoveNext

  從這上面例子可以看出,與一個 ADO Recordset 關聯的所有方法都可以應用于rs用戶,例如添加、更新、刪除和遍歷記錄的方法。

  從上面的例子及說明可以看出,VB中的數據環境就象一個大的數據控件一樣,它可以在不同的窗體中引用和操作。這對于我們開發應用程序來說,無疑是提供了一個很好的數據工具。

  Query Designer(數據查詢設計)

  Query Designer用來設計查詢,并把設計出來的查詢保存到數據庫中。與編寫普通的SQL代碼相比,使用Query Designer的好處是查詢經過數據庫的編譯以后運行速度將加快。這里,查詢也可以帶參數,用來在運行時填充數據。這種設計思想可以用來創建通用查詢以讀取一個單獨的記錄,而不必為每個可能的ID記錄號單獨準備一個獨立的查詢。

  查詢設計器不但包含可視地顯示查詢的圖形窗格,也包含顯示查詢的 SQL 文本的 SQL 窗格??梢栽趫D形化的或 SQL 窗格中工作,查詢設計器將保持兩種視圖的同步,以使它們總是當前的。另外,查詢設計器能識別 Microsoft(R) SQL Server(TM) 和 Oracle 數據庫之間的差別,因此它能生成并識別數據庫特有的 SQL 命令。如果向查詢中添加一個以上的表,查詢設計器會自動確定這些表如何關聯,并且在查詢中構造合適的聯結命令。我們可以使用查詢設計器的SQL SELECT命令返回數據,也可以創建更新、添加或刪除數據庫中記錄的查詢。還可以執行查詢及處理網格中的記錄集。

  打開Query Designer的方法很簡單,只要在數據視圖(Data View)中的“數據鏈接”或“數據環境連接”下有一個鏈接或數據環境,就可以找到視圖(View),然后用鼠標右鍵單擊 “視圖”,出現一個彈出式菜單,選擇“新建視圖(N)”即可。然后到數據視圖中將查詢涉及到的表(Tables)拖到Query Designer中,定義查詢條件和顯示字段即可建立一個新的查詢。這種查詢建立的方法與Access非常相似。

  Data Report Designer(數據報表設計器)

  Data Report Designer是VB6.0眾多新增功能中最有用的一個功能。有了它,我們就可以在VB中創建簡單的報表,而不是尋求第三方的軟件支持了。另外,我們可以在程序中使用代碼來調用剛創建的報表對象。

  用過Access報表設計工具的人再使用VB6.0中的Data Report Designer,就會感覺它功能更加強大,而且使用方便。它支持頁面、報表頭、記錄行以及其他一些常用的功能,如支持不同的圖形和字體等。雖然這種報表設計器不能完全取代第三方報表設計工具,但對于一些常用的報表來說,有了它就可以很方便地在VB中設計了。

  報表設計器必須有數據環境(Data Environment)的支持才能使用。因為報表設計中的數據來源與數據環境。

  報表設計器主要有以下功能特點:

  1. 對字段的拖放功能——把字段從 Microsoft 數據環境設計器拖到數據報表設計器。當進行這一操作時,Visual Basic 自動地在數據報表上創建一個文本框控件,并設置被放下字段的DataMember和DataField屬性。也可以把一個Command對象從數據環境設計器拖到數據報表設計器。在這種情況下,對于每一個Command對象包含的字段,將在數據報表上創建一個文本框控件;每一文本框的DataMember和DataField屬性將被設置為合適的值。

  2. Toolbox控件——數據報表設計器以它自己的一套控件為特色。當數據報表設計器被添加到工程時,控件被自動創建在一個名為DataReport的新“工具箱”選項卡上。多數的控件在功能上與 Visual Basic 內部控件相同,并且包括Label、Shape、Image、TextBox和Line控件。第六個控件,即Function 控件,自動地生成如下四種信息中的一種:Sum、Average、Minimum或Maximum。

  3. 報表打印及預覽——通過使用 Show 方法預覽報表。然后生成數據報表并顯示在它自己的窗口內;通過調用 PrintReport 方法,以編程方式打印一個報表。當數據報表處于預覽方式,用戶也可以通過單擊工具欄上的打印機圖標打印報表。

  4. 文件導出——使用 ExportReport 方法導出數據報表信息。導出格式包括 HTML 和文本??梢詣摻ㄒ粋€文件模板集合,以同 ExportReport 方法一起使用。這對于以多種格式(每種都報表類型剪裁)導出報表是很有用的。

  5. 異步操作——DataReport 對象的 PrintReport 和 ExportReport 方法是異步操作。使用 ProcessingTimeort 事件可以監視這些操作的狀態,并取消任何花費時間過長的操作。

  要創建一個報表,可以采取以下步驟:

  * 在“工程”菜單上,單擊“添加 Data Report"。如果設計器不在“工程”菜單上,單擊“工程”菜單中的“部件”。再單擊“設計器”選項卡,選擇“Data Report"。

  * 設置 DataReport 對象的屬性。在“屬性”窗口上,單擊“數據源”,假如選擇“DSN_Funds"。然后單擊“DataMember"并選擇“用戶”。

  * 右鍵單擊數據報表設計器,并單擊“檢索結構”。 則我們已經向報表設計器添加了一個新的分組。每一個分組都同數據環境中的 Command 對象有“一對一”對應關系;在這種情況下,新的分組與客戶的 Command 對象相對應。

  * 從數據環境設計器,把“所在部門"字段(在“用戶"命令下)拖到分組標頭(用戶_Header)部分。分組標頭部分可以包含“用戶”命令的任何字段,然而,出于演示目的,此時只顯示“用戶”名。

  * 刪除名為“Label1"的 Label 控件(rptLabel)。如果不希望 Label 控件包括在 TextBox 控件中,可以在數據環境設計器的“選項..."對話框的“字段映射”選項卡上撤消對“Drag and Drop Fields Caption"選項的選擇。

  * 從數據環境設計器中,把“用戶名"、“注冊日期”、“口令”、“權限”字段拖到細節(Orders_Detail)部分。并刪除所有Label控件。細節部分表示最內層的“重復”部分,因而與數據環境層次結構(OrdersCommand對象)中最底層的 Command 對象相對應。

  * 重新調整數據環境設計器部分的大小。重新調整細節部分的高度,使它盡可能的矮是很重要的,因為高度將會與為每一個“部門”返回的細節(即“用戶名”、 “注冊日期”、“口令”、“權限”)相乘。細節部分的文本框下面或上面的任何多余位置將在最后的報表中導致不必要的空間。

  * 保存工程。

  Visual Basic6.0與以前版本的最大不同之處就是在數據庫功能上有一個更大的提高。這也是微軟公司為加強其在企業開發工具地位上的重要內容。應該說,在開發大中型企業應用軟件上,Visual Basic6.0的確是最強的軟件之一。相信大家在不斷使用過程中會有更深的體會。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97