教师津贴系统采用二层的框架来搭建。一层是数据库层,另外一层是表现层。这两层之间有通路来连接,通路有很多种,其中有一种名称为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();
编辑,更新,删除
protected void GridView5_RowUpdating(object sender, GridViewUpdateEventArgs
{
DropDownList DDL1 = DropDownList)GridView1.Rows[e.RowIndex].FindControl("DropDownList4");
"部门名称ID"].DefaultValue = DDL1.SelectedItem.Value;
……
}
2.2. 从数据库层到表现层的回路
返回表格
示例:验证用户名和密码是否正确
SqlDataSource1的去路:
<asp:SqlDataSourceID="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>
protectedvoid Button_OK_Click(object sender, ImageClickEventArgs
{
//检查用户名和密码是否正确
DataView dv = (System.Data.DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
if
{
"Web/InitializeSys/IniTeacher.aspx");
}
}