• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    在軟件測試開發技術SQL Server數據庫編寫通用數據訪問方法

    發布: 2009-10-12 09:00 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 37次 | 進入軟件測試論壇討論

    領測軟件測試網



    using System;
    using System.Data; 
    using System.Configuration;
    using System.Reflection;
    using Common;

    namespace BLL
    {
       public class Customers
       {
    public DataTable GetAllCustomers()
    {
       string AssemblyName = 
    ConfigurationSettings.AppSettings
    ["DALAssembly"];
       string TypeName = "DAL.CustomersData";

       IDbCustomers cd = 
    //(IDbCustomers)= 
    Assembly.Load(AssemblyName).
    CreateInstance(mytype); 

       DataTable dt = cd.GetCustomers();
       return dt;
    }
    public DataSet GetCustomerOrders()
    {
       // 待定
       return null;
    }
       }
    }
     

    您可以看到,程序集使用從配置文件中讀取的名稱進行加載,并創建和使用 CustomersData 類的實例。 


    一些可能的改進 


    要了解我所建議的方法的示例,請查看 NET Pet Shop v3.0 示例應用程序。建議您下載此示例并深入了解它,不僅是為了解決可移植性問題,同時也是為了解決其他相關問題(如緩存和性能優化)。 


    在為可移植應用程序設計數據訪問層的過程中,一個需要注意的重要問題是如何與其他層進行信息通信。在本文的示例中,我只使用了一個普通的 DataTable 實例;在生產環境中,您可能希望根據必須表示的數據類型(您必須處理分層結構等)考慮不同的解決方案。在這里,我不希望從頭開始,建議您查閱 Designing Data Tier Components and Passing Data Through Tiers 指南,它詳細描述了不同情況以及所建議的解決方案的優點。 


    如我簡介中所述,在設計階段,應該考慮您的目標數據源所公開的特定特性以及總體數據訪問。這應該涵蓋存儲過程、XML 序列化等事項。關于 Microsoft® SQL Server™ 2000,您可以在下面的網址中找到有關如何優化使用這些特性的介紹:.NET Data Access Architecture Guide。強烈建議您閱讀一下該指南。 


    我總是收到許多關于 Data Access Application Block 以及它如何與參數關聯(如本文所述)的請求。這些 .NET 類充當 SQL Server .NET 數據提供程序之上的抽象層,并使您能夠編寫更多優秀代碼與數據庫服務器進行交互。下面是一段演示可行操作的代碼: 



    DataSet ds = SqlHelper.ExecuteDataset( 
    connectionString,
    CommandType.StoredProcedure,
    "getProductsByCategory",
    new SqlParameter("@CategoryID", categoryID));
     

    此方法還有一個外延,您可以在 GotDotNet 上的開放源代碼 Data Access Block 3.0 (Abstract Factory Implementation) 示例中找到。此版本實現相同的抽象工廠模式,并使您能夠根據可用的 .NET 數據提供程序使用不同數據源。 


    結論 


    您現在應能夠根據選擇的特定數據源構建不需要修改的業務邏輯類,并可以利用給定數據源的唯一特性獲得更好的效果。這是有代價的:我們必須實現多組類,以便封裝特定數據源的低級別操作,以及可以為每個特定數據源(存儲過程、函數等)構建的所有可編程對象。如果希望獲得高性能和高可移植性,就必須付出這樣的代價。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    1111/11|<<234567891011

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>