FrameCountry数据访问层架构是以.Net为开发平台,专注于多层开发架构中数据访问层功能的应用程序。本文章介绍如何通过FrameCountry快速访问SQLServer数据库,数据库表为SQLServer2000的pubs库中的jobs表。(更多内容请下载最新版本FrameCountry架构,其中含实例程序和使用手册)
 
一、新建C#工程
1.       建立C#工程,名称QuickSQLServer;
2.       添加引用,选择FrameCountry架构文件FrameCountry.dll;
3.       在界面增加4个按钮:名称分别为“查询”、“添加”、“修改”、“删除”;
      增加4个对话框:name属性为“job_id”、“job_desc”、“min_lvl”、“max_lvl”;
      增加一个DataGrid空间,name定义为dgGrid,如图:

[img]http://p.blog.csdn.net/images/p_blog_csdn_net/lizheng82/da6dfc3d576f47f8892bb97231b0f5eb.png[/img]
二、配置FrameCountry架构文件
1.         在工程的FrameCountry.dll目录中建立两个配置文件FrameConnect.xml和FrameConfig.xml。
2.         FarmeConnect.xml配置文件内容如下:
<?xml version="1.0" encoding="GB2312"?>
<ConfigList>
    <Datebase>
        <DBString>User ID=sa;Data Source="127.0.0.1";Password=;Initial Catalog=pubs;Provider="SQLOLEDB.1"</DBString>
        <DBTimeout>30</DBTimeout>
    </Datebase>
    <Debug>
        <DebugType>1</DebugType>
    </Debug>
    <Register>
        <RegisterString>[2999-12-31]W5dBN6YXQ8ks6xXCwPZKloxtB11Y9ExGnG3WaSNCkWKZ6HP52XU47l2dT4GXrxdS4/v9LT7rTasYGoyDs4BwEPLbfMSbCFGITZqLuJKbArLkLTnpmA5IPd27qfOiBhMnemzhMpYGk7+7dU4wbCcrn0rssJf7kRd7HTaNJGHKNE5cHDtW3wUraC4bkyWhnNXcluyImPy555w=</RegisterString>
        <RegisterExplain>限时到2999年12月31日</RegisterExplain>
    </Register>
</ConfigList>
3.         FarmeConfig.xml配置文件内容如下:
<?xml version="1.0" encoding="GB2312"?>
<ConfigList>
    <jobs CommandName="Table" Depiction="工作表">
        <MainInfo>
            jobs
        </MainInfo>
        <WhereList>
            <job_id Depiction="工作ID号" DataType="Number"  Operator="=">job_id</job_id>
            <job_desc Depiction="工作描述" DataType="String"  Operator="=">job_desc</job_desc>
            <min_lvl Depiction="最大数" DataType="Number"  Operator="=">min_lvl</min_lvl>
            <max_lvl Depiction="最小数" DataType="Number"  Operator="=">max_lvl</max_lvl>
        </WhereList>
    </jobs>
</ConfigList>
三、双击“查询”按钮添加如下代码:
            //查询操作
            string sError="";
            DataSet dsData=new DataSet();
            FrameCountry.FrameTown fTown=new FrameCountry.FrameTown();            //创建主执行类FrameTown对象
            FrameCountry.FrameBridge fBridge=new FrameCountry.FrameBridge();    //创建提交字符串类FrameBridge
            fBridge.ChapterName="jobs";            //设定操作节点名称
            fBridge.CommandName="select";        //设置操作类型 
            if(job_desc.Text!="")                //当描述框不为空时执行近似“like”查询
                fBridge.TransWhere["job_desc","like"]="%"+job_desc.Text+"%";
            if(!fTown.ExeQuery(fBridge,ref dsData,ref sError))        //执行查询操作,当错误返回错误信息到变量sError
                MessageBox.Show(sError);
            else
                dgGrid.DataSource=dsData.Tables[0];
 
四、双击“插入”按钮添加如下按钮:
            //插入操作
            string sError="";
            DataSet dsData=new DataSet();
            FrameCountry.FrameTown fTown=new FrameCountry.FrameTown();            //创建主执行类FrameTown对象
            FrameCountry.FrameBridge fBridge=new FrameCountry.FrameBridge();    //创建提交字符串类FrameBridge
            fBridge.ChapterName="jobs";            //设定操作节点名称
            fBridge.CommandName="insert";        //设置操作类型
            //fBridge.TransValue["job_id"]=job_id.Text;        //该列自动增加,不用设置
            fBridge.TransValue["job_desc"]=job_desc.Text;
            fBridge.TransValue["min_lvl"]=min_lvl.Text;
            fBridge.TransValue["max_lvl"]=max_lvl.Text;
            if(!fTown.ExeSingleNonQuery(fBridge,ref sError))        //执行非查询操作,当错误返回错误信息到变量sError
                MessageBox.Show(sError);
            else
                MessageBox.Show("操作成功!");
 
五、双击“修改”按钮添加如下按钮:
            //修改操作
            string sError="";
            DataSet dsData=new DataSet();
            FrameCountry.FrameTown fTown=new FrameCountry.FrameTown();            //创建主执行类FrameTown对象
            FrameCountry.FrameBridge fBridge=new FrameCountry.FrameBridge();    //创建提交字符串类FrameBridge
            fBridge.ChapterName="jobs";            //设定操作节点名称
            fBridge.CommandName="update";        //设置操作类型
            fBridge.TransWhere["job_id"]=job_id.Text;        //该列作为更新条件
            fBridge.TransValue["job_desc"]=job_desc.Text;
            fBridge.TransValue["min_lvl"]=min_lvl.Text;
            fBridge.TransValue["max_lvl"]=max_lvl.Text;
            if(!fTown.ExeSingleNonQuery(fBridge,ref sError))        //执行非查询操作,当错误返回错误信息到变量sError
                MessageBox.Show(sError);
            else
                MessageBox.Show("操作成功!");
 
六、双击“删除”按钮添加如下按钮:
            //删除操作
            string sError="";
            DataSet dsData=new DataSet();
            FrameCountry.FrameTown fTown=new FrameCountry.FrameTown();            //创建主执行类FrameTown对象
            FrameCountry.FrameBridge fBridge=new FrameCountry.FrameBridge();    //创建提交字符串类FrameBridge
            fBridge.ChapterName="jobs";            //设定操作节点名称
            fBridge.CommandName="delete";        //设置操作类型
            fBridge.TransWhere["job_id"]=job_id.Text;        //该列作为更新条件
            if(!fTown.ExeSingleNonQuery(fBridge,ref sError))        //执行非查询操作,当错误返回错误信息到变量sError
                MessageBox.Show(sError);
            else
                MessageBox.Show("操作成功!");    
 
七、总结
       以上步骤实现了对SQLServer数据库的增加、修改、删除、查询操作,代码过程简单,可读性强,FrameCountry数据访问层架构通过对数据库的操作完全封装,简化开发过程,开发人员只需要关注业务逻辑的实现即可。
更多内容请看我的博客:
http://blog.csdn.net/lizheng82
下载最新的FrameCountry数据访问层架构:
http://blog.csdn.net/lizheng82/archive/2007/06/18/1656140.aspx