SqlDatasource如何充当中间通路层

 

教师津贴系统采用二层的框架来搭建。一层是数据库层,另外一层是表现层。这两层之间有通路来连接,通路有很多种,其中有一种名称为SqlDatasource。以下就对这三部分进行概述。

.一层是数据库层,它是数据库设计的最终成果,它经过了数据库需求分析,概念设计,逻辑设计及物理实现

1.       需求分析

2.       概念设计

3.       逻辑设计

4.       物理实现

它最终形成的成果是表以及要完成相应的功能的存储过程

. 中间的桥梁SqlDatasource它是发挥中间桥梁的作用,主要体现在从表现层到数据库去与回的通路控制

2.1   从表现层到数据库层的去路

以下是添加教师信息的界面层

 

以下是教师信息的数据库层

 

 

 

SqlDatasource如何做一个通道让表现层的数据信息到数据层呢?

2.1.1. 添加  

SqlDatasource通过InsertParameters["姓名"].DefaultValue让界面层的教师名字TextBox1.Text.Trim() 传到数据库的教师层里,当然前提是SqlDatasource通过Connectionstring连接到数据库,并允许编辑更新,删除

            

                

            SqlDataSource1.InsertParameters["姓名"].DefaultValue = TextBox1.Text.Trim();

              ……

SqlDataSource1.Insert();

 

   2.1.2       编辑,更新,删除

 

 protected void GridView5_RowUpdating(object sender, GridViewUpdateEventArgs e)

           {

                  DropDownList DDL1 = DropDownList)GridView1.Rows[e.RowIndex].FindControl("DropDownList4");

                          SqlDataSource5.UpdateParameters["部门名称ID"].DefaultValue = DDL1.SelectedItem.Value;

                          ……

       }

2.2.       从数据库层到表现层的回路

  2.2.1 返回表格

示例:验证用户名和密码是否正确

 

SqlDataSource1的去路:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DatabaseConnectionString %>"

            SelectCommand="SELECT * FROM [用户表] WHERE (([名称] = @名称) AND ([密码] = @密码))">

                <SelectParameters>

                   <asp:ControlParameter ControlID="TextBox_User" Name="名称" PropertyName="Text" Type="String" />

                   <asp:ControlParameter ControlID="TextBox_Pass" Name="密码" PropertyName="Text" Type="String" />

                </SelectParameters>

</asp:SqlDataSource>

        protected void Button_OK_Click(object sender, ImageClickEventArgs e)

          {

           //检查用户名和密码是否正确

                System.Data.DataView dv = (System.Data.DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);

            if (dv.Count == 1)

              {

                Response.Redirect("Web/InitializeSys/IniTeacher.aspx");

              }

 

           }

转载于:https://www.cnblogs.com/heartshake123/archive/2008/09/04/1284734.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值