• Enterprise Library 2.0 Hands On Lab 翻译(1):数据访问程序块(一)


    练习一:使用数据访问程序块执行静态SQL语句

    该练习示范了如何使用数据访问程序块进行最基本的数据访问,另外还有如何去配制程序块,提供运行时再选择数据库。

     

    第一步

    打开SimpleData.sln项目,默认的安装路径应该为C:\Program Files\Microsoft Enterprise Library January 2006\labs\cs\Data Access\exercises\ex01\begin,并编译。

     

    第二步 创建QuickStarts数据库

    1.用记事本打开DataAccessQuickStarts.sql,默认的安装路径应该为C:\Program Files\Microsoft Enterprise Library January 2006\QuickStarts\Data,选择 文件 | 另存为 菜单,并选择编码格式encodingUnicode,保存并覆盖原来的文件,如何出现只读属性,请在文件属性中去掉只读属性。

     

    2.在同一个目录下,运行SetUpQuickStartsDB.bat批处理文件,注意数据库将被安装在默认的实例(local)\SQLEXPRESS下,如果需要更改,用记事本打开SetUpQuickStartsDB.bat文件进行修改。

     

    第三步 回顾应用程序

    Visual Studio 2005解决方案管理器中选择MainForm.cs文件,选择 View | Designer 菜单,应用程序包含一个DataGrid和几个Menu,我们将使用数据访问应用程序块来统计数据库中的Customer的数量,并加载数据到DataGrid中。

     

    第四步 实现Customer菜单项

    1.选中CustomerManagment项目,选择 Project | Add Reference … 菜单命令,在打开的对话框中选择Browse,并添加如下两个程序集。

    Microsoft.Practices.EnterpriseLibrary.Common.dll

    Microsoft.Practices.EnterpriseLibrary.Data.dll

    默认的位置应该是C:\Program Files\Microsoft Enterprise Library January 2006\bin

    2.在解决方案管理器中选中MainForm.cs文件,选择View | Code 菜单命令

    3.在文件中添加如下命名空间:

    using Microsoft.Practices.EnterpriseLibrary.Data;

    4.找到mnuCount_Click方法(窗体中Customer | Count 菜单的单击事件),并添加如下代码。
    private void mnuCount_Click(object sender, System.EventArgs e)

    {

        
    // TODO: Count Customers

        Database db 
    = null;

        db 
    = DatabaseFactory.CreateDatabase("QuickStarts Instance");

     

        
    int count = (int)db.ExecuteScalar(

            CommandType.Text,

            
    "SELECT COUNT(*) FROM Customers");

     

        
    string message = string.Format(

            
    "There are {0} customers in the database",

            count.ToString());

     

        MessageBox.Show(message);

    }

    在上面的代码中首先声明了一个名为QuickStarts Instance的数据库实例,在配置文件中配置好的,这个时候数据库连接并没有真正的打开。db.ExecuteScalar()方法有很多个重载,选择一个执行静态SQL语句的方法返回的结果类似于SqlCommand .ExecuteScalar()。在该方法中打开并关闭数据库连接。

    5.找到mnuLoad_Click方法(窗体中Customer | Load 菜单单击事件),并添加如下代码。

    private void mnuLoad_Click(object sender, System.EventArgs e)

    {
        
    // TODO: Load Customers

        Database db 
    = null;

        db 
    = DatabaseFactory.CreateDatabase();

        DataSet ds 
    = db.ExecuteDataSet(

            CommandType.Text,

            
    "SELECT * From Customers");

        dataGrid1.DataSource 
    = ds.Tables[0];

    }

    db.ExecuteDataSet()方法请求打开并关闭数据库连接,它返回一个用SQL语句查询结果填充的DataSet,它可能会包含多张表。

     

    第五步 配置应用程序

    1.在项目CustomerManagement中添加一个应用程序配置文件(App.config),单击CustomerManagement项目,选择Project| Add New Item…菜单命令,在弹出的对话框中选择Application configuration file,保留名称为App.config

    2.使用Enterprise Library配置工具配置应用程序,可以通过开始菜单打开该配置工具,选择所有程序| Microsoft patterns and practices | Enterprise Library | Enterprise Library Configuration,并打开App.config文件。或者直接在Visual Studio中使用该工具打开配置文件。

    3.在解决方案管理器中选中App.config文件,在View菜单或者在右键菜单中选择Open With…,将打开OpenWith对话框,单击Add按钮。

    4.在Add Program对话框中,设置Program name指向EntLibConfig.exe文件,默认的路径为C:\Program Files\Microsoft Enterprise Library January 2006\bin,设置Friendly nameEnterprise Library Configuration,单击OK按钮。

    Visual Studio会把配置文件(App.config)作为一个命令行参数传递给EntLibConfig.exe

    5.在Open With对话框中,选中Enterprise Library Configuration并单击OK按钮。

    6.如果在machine.config中已经定义了connectionStrings配置区,你会发现Enterprise Library Configuration工具会自动创建一个数据访问应用程序块。选中Data Access Application Block | Connection Strings节点,并选择菜单Action | New | Connection String命令。

    7.如果没有数据访问应用程序块定义,在Application上右击并选择New | Data Access Application Block,即可创建一个新的数据访问应用程序块。

    8.选择Data Access Application Block | Connection Strings | Connection String节点,修改Name属性为QuickStarts Instance

    这里的名字跟代码中使用的数据库名相对应,它是创建了数据库的别名在运行时映射到具体的数据库。。

    9.在QuickStarts Instance下选择Database节点,在右边修改Value属性的值为EntLibQuickStarts

    10.相应的,选择Server节点,修改它的值为(local)\SQLEXPRESS,即为你的数据库服务器实例名。

    11.选择Data Access Application Block节点,设置DefaultDatabase的值为QuickStarts Instance,如果你在代码中不指定默认的数据库实例名,将会默认的使用它。

    12.选择菜单File | Save All保存应用程序的配置,并关闭Enterprise Library Configuration工具。

     

    第六步 运行应用程序

    1.在Visual Studio中选择Debug | Start Without Debugging菜单命令运行应用程序,将会弹出App.config在代码编辑器之外被修改的警告对话框,单击Yes。运行应用程序后,单击Customers | Count菜单显示数据库中Customers的数量,单击Customers | Load数据将会填充到DataGrid中。

    2.关闭应用程序和Visual Studio

    完成后的解决方案代码如C:\Program Files\Microsoft Enterprise Library January 2006\labs\cs\Data Access\exercises\ex01\end所示。

  • 相关阅读:
    保存ADO的记录集为XML文件
    [C++] Undefined reference to vtable
    Csdn博客的一个bug
    深入解析ATL(第二版ATL8.0)(1.111.13节)
    不同操作系统下记事本的换行符号
    dom4j学习总结(一)
    关于firefox的copy/paste的问题
    php URL编码解码函数
    php连接MySQL数据库的一些问题
    使用 jQuery progressBar 做文件上传的进度条指示
  • 原文地址:https://www.cnblogs.com/ryb/p/561450.html
Copyright © 2020-2023  润新知