ASPNET35开发大全第8章
【学习课件】第8章ASP程序设计基础

唐四薪 主编
1
清华大学出版社 2021/7/9
2011年11月
第八章 ASP程序 设计基础
2
2021/7/9
浏览器和服务器的作用
ASP
HTML、CSS JavaScript
Web服务器
2021/7/9
Internet
3
浏览器
浏览器和服务器的作用
HTTP请求 HTTP响应
2021/7/9
35
ASP程序编写的注意事项
❖ 使用VBScript作脚本语言,代码不区分大小写 ❖ ASP代码的定界符“<%”和“%>”不能够嵌套。
如果遇到非ASP代码,就必须立即用“%>”把前 面的ASP代码结束 ❖ 在“<%”和“%>”内必须是一行或多行完整的语 句,如<%For i=1 To 4 %>不能写成<%For i=1 %><%To 4 %> ❖ ASP中语句必须分行书写。一条ASP语句就是一 行,一行也只能写一条ASP语句
2021/7/9
6
网页的类型
网页
静态网页
采用HTML、CSS 、JavaScript编写 的网页。文件扩展 名是 .htm 或 .html
动态网页
采用 ASP、JSP、 PHP 、CGI 程序 动态生成的网页。 文件扩展名是 .asp、 .jsp、.php、.cgi等。
2021/7/9
❖ 动态网页绝不是“含有动画”的网页
10 <%for i= %><%= 1 %><% to 5%>
11 <font size="<%= 6 %>">天下</font>
第8章ASPNET开发与应用实践 (4)

9.2 创建母版页
网页的公共部分应该放在母版页中。每个网页的特定内容 应该放在内容页中。 在Visual 集成开发环境中,创建母版页与创 建普通页面几乎一样。 在“添加新项”对话框中,选择“母版页”。
[例9-2] 创建一个菜单程序 有一个主菜单页面,上面有三个按键,分别按动其中一个按 键,页面就转向相应的二级页面。采用母版页方式实现。
9.3 创建内容页
内容页是与母版页相关联的页面,它仅包含在运 行时与母版页的 ContentPlaceHolder控件合并在一起的 文本和控件。 内容页的创建过程与普通页面的创建过程有所不同。 在“添加新项”对话框中, “选择母版页”复选框。 [例9-2] 创建内容页
9.4 应用母版页
</asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="Footer" Runat="Server" >
版权所有 2007-01-01 </asp:content>
9.1.2 内容页的代码结构
其中,Page指令的MasterPageFile属性指定母版页文件的 路径,Title属性设置页面标题。 Content控件是一个容器,用于容纳页面中非通用内容部 分,它与母版页中的某个ContentPlaceHolder控件相关联 ,为之提供内容。 内容页中没有<html>、<body>、<form>等标记。
创建母版页程序分析
2级页面
Default3.aspx 2级页面
MasterPage.master:模板(母版页面)
LinkButton1_______Default.aspx
asp第八章

.NET编程与实战(理论 ) 编程与实战( 编程与实战
软件教研室: 软件教研室:赵有俊 sdzhyj@
学习目标
理解概念和组成部份 熟悉结构及包含的命名空间 掌握Connection对象对数据库连接的操作 掌握Command对象执行SQL查询的方法 掌握DataReader对象读取数据的方法 理解DataAdapter和Daset对象的关系及操作过程 理解DataTable对象作用及使用方法 熟悉Parameter对象的应用过程 了解中的新增功能 理解LINQ的概念 了解LINQ简单用户和操作
.NET编程与实战(理论 ) 编程与实战( 编程与实战
软件教研室: 软件教研室:赵有俊 sdzhyj@
8.2 对象 对象
在了解的各个组成,并熟悉其结 构和所需的命名空间之后。本节将详细介绍A 中与数据库有关的各种对象,像使用 Connection对象建立连接、使用Command对 象执行SQL命令并将查询结果保存到DataSet 对象等。
.NET编程与实战(理论 ) 编程与实战( 编程与实战
软件教研室: 软件教研室:赵有俊 sdzhyj@
8.2.2 COMMAND对象 对象
Command对象也具有自己的属性和方法,下面介 绍Command对象的属性和方法,Command对象的属 性如表8-5所示。
.NET编程与实战(理论 ) 编程与实战( 编程与实战
表8-3 Connection对象的公共属性
.NET编程与实战(理论 ) 编程与实战( 编程与实战
软件教研室: 软件教研室:赵有俊 sdzhyj@
8.2.1 CONNECTION对象 对象
Connection对象的方法如表8-4所示。
方法 Open Close 说明 打开对数据库的连接 关闭当前对数据库的连接
asp.net网络程序设计(8-10章)课后习题及答案

A S 网络程序设计(8-10章)课后习题及答案第八章课后习题一、填空题(20空,每空2分,共40分)1.每个AS P.N ET网站都有一个配置文件,其文件名为(w eb.c on f ig)。
2.ASP.N ET编写的We b程序一般有两种应用场合,一种是应用在(互联网)上,另外一种是供本单位(局域网)使用。
3.ASP.N ET提供了两种验证方式:(Win d ow s验证)和(F or ms验证)。
4.在Vis u a lS t ud io2010的主菜单中选中“网站”下拉菜单中的(AS P.N ET 配置)后,即可以进行验证类型配置。
5.在Visu a lSt u d io2010命令提示符下输入(a sp n et_r egs q l)创建和配置数据库。
6.ASP.N ET网站管理工具新建用户密码必须由(数字)、(英文字母)和(特殊符号)三种字符组成。
7.在默认情况下,AS P.N ET用户信息存储在(AS PN ETD B.MD F)文件中,该文件默认为存储在网站的(Ap p_D at a)目录下。
8.ASP.N ET的网站管理工具设定访问规则的三个步骤,第1步选中(目录),第2步选中(角色),第3步选定(权限)。
9.配置文件w eb.c on f ig中表示(拒绝)角色“du jin g”访问该目录,表示(允许)角色“lid a nd a n”访问该目录,而则表示(拒绝匿名用户)访问该目录。
10.如果应用程序使用(F or ms)身份验证,则Log in N am e控件显示用户登录时填写的名称。
Lo g inv ie w控件将根据用户(角色)的不同而显示不同的内容。
二、选择题(10小题,每小题2分,共20分)1.以下(C)不是网站登录管理要解决的问题。
A.有哪些用户B.访问权限C.用什么数据库存储信息D.每个用户扮演什么角色2.用户配置“用户将如何访问您的站点”时选取的是“通过本地网络”,则w e b.c o nf ig配置文件的项目设置为(C)。
第8章ASPNET开发与应用实践 (7)

string qq = "Data Source=whc-pc\\sqlexpress;Initial Catalog=studentsys;Integrated Security=SSPI ";
SqlConnection Conn = new SqlConnection(qq); SqlDataAdapter da = new SqlDataAdapter(); string SQL = "select * from Table2"; da.SelectCommand = new SqlCommand(SQL, Conn); DataSet ds = new DataSet(); da.Fill(ds, "Table2");
DataRow dr = ds.Tables["Table2"].NewRow(); dr["name"] = TextBox1.Text.ToString(); dr["sec"] = TextBox2.Text.ToString();
ds.Tables[0].Rows.Add(dr); GridView1.DataSource = ds; GridView1.DataBind(); SqlCommandBuilder read = new SqlCommandBuilder(da); da.Update(ds, "Table2");
if (cmd.ExecuteScalar()==null) {
Label2.Text = TextBox1.Text +"不?是?合?法ぁ?成é员±?"; } else { Label2.Text =cmd.ExecuteScalar ().ToString ()+"是?合?法ぁ?成é员±!?"; Response.Redirect("default2.aspx"); }
第八章ASPNET及关系型数据库

8.2 概述
Connection对象 要存取数据源内数据,并对数据进行操作,首先要建立程序与数据源的联系,这个工作可以
由Connection对象完成。没有Connection对象将数据库打开,是无法从数据库中获取数据的, 在这里介绍Connection对象的常用属性和方法。 1.Connection对象的常用方法 2.Connection对象的常用属性 3.Connection对象的构造函数与对象的创建
本节知识点 本节通过一个基于Connection对象连接SQL Server数据的实例,介绍了Connection对象的创
建与使用方法,重点介绍Connection对象连接数据库的方法。本节主要包含以下知识点: 1. Connection对象的创建 2. Connection对象的ConnectionString属性 对已建立Connection对象,应指定连接字符串以实现数据库的连接。 3. Connection对象的打开和关闭 Connection对象需要调用对象的Open方法来打开连接,而用Close方法来关闭Connection
8.2 概述
DataTable对象 DataTable对象是DataSet的最重要的对象之一,表示内存中的一个关系数据表。DataSet的
Tables集合中的每一项都是一个DataTable,每一个DataTable包含由DataRow对象所组成的 Rows集合和由DataColumn对象所组成的Columns集合,可以有关联、限制、延伸等属性。 1.DataTable对象的常用属性 2.DataTable对象的常用方法 3.DataTable对象的创建 4.DataRow对象 5.Columns集合(列)与DataColumn对象 6.DataTable内数据的访问
第8章 ASP NET Web编程原理
#Profile() : DefaultProfile #ApplicationInstance() : HttpApplication #Profile() : DefaultProfile #ApplicationInstance() : HttpApplication #Page_Load(in sender : object, in e : EventArgs) #btnClickMe_Click(in sender : object, in e : EventArgs)
38
在页面对象的每个阶段,都会激发出相应 的事件。Web软件工程师可以为这些事件 书写代码以完成特定的工作。
比如Load 就是我们用得最多的事件。 关于页面引发的事件,最重要的是明了其
引发的顺序。 明了页面事件十分重要,有助于解决在开
发中遇到的问题
39
设置trace=true,观看“可怕的”Web网页运 行结果……
IRequiresSessionState
ASP::samplepage_aspx
-__initialized : bool -__fileDependencies : object
+samplepage_aspx() -__BuildControl__control3() : HtmlTitle -__BuildControl__control2() : HtmlHead -__BuildControllblInfo() : Label -__BuildControlbtnClickMe() : Button -__BuildControlform1() : HtmlForm -__BuildControlTree(in __ctrl : samplepage_aspx) #FrameworkInitialize() +GetTypeHashCode() : int +ProcessRequest(in context : HttpContext)
祁长兴《ASPNETweb程序设计教程》第八章
Response.Write("<font size=6 color=olive face=楷体_GB2312>欢迎来到我 的主页</font><br><br>");
Response.Write("<hr width=75% color=red align=left><br><br>");
Response.Redirect("welcome.aspx?User name="+username+"&Password="+p assword+"&Like="+like); }
8.1.3 页面跳转
1.例使8用-4Writ登e方录法页面运行效果
8.1.4 创建Cookie
❖ 使用Response.Cookies数据集合可以在客户端创建一个 Cookie,一个Cookie对象包含三个参数,分别是:名称 、值和有效期。创建Cookie的语法格式为:
8.1.1 属性和方法
续表8-1 Response对象的属性
属性名
说明
IsClientConnected 获取一个布尔类型的值,指示客户端是否仍连 接在服务器上
Expires
获取或设置在浏览器上缓存的页过期之前的分 钟数
ExpiresAbsolute Output
获取或设置从缓存中移除缓存信息的绝对日期 和时间
this.Title = "Response.End方法示例"; Response.Write("欢迎光临"); Response.End(); Response.Write("我的网站"); }
.NET 3.5 新特性之 LINQ(第八章)
@";Integrated Security=True;User Instance=True";
if ( System.IO.File.Exists ( strmp ) ) { this.Connection.ConnectionString =
strconn.Replace ("%dbpath%", strmp ); }
单击”添加“”按钮完成添加新类
例子添加新项的操作Ⅰ
例子 添加新项的操作Ⅱ
单击此类别 单击此模板
输入此文件名 单击此按钮
例子4.2 添加新项的操作Ⅲ
两张表 一个存储过程
从服务器资源管理器窗口中把已经
建好的两张表、一个视图和一个存 储过程拖入设计视图中。如上所示
一个视图
例子新建的实体类和其属性
} /// TabAddressBook表 public Table<TabAddressBookEntity> TabAddressBook { get { return this.GetTable<TabAddressBookEntity> ( ); } } } }
例子Program.cs程序代码
{ private const string CONNSTR = @"DataSource= .\SQLEXPRESS;AttachDbFilename=" + "\"" +
@"D:\DemoLinqToSql\DbAddressBook.mdf" + "\"" +
@";Integrated Security=True;User Instance=True"; public AddressBookDataContext ( XmlMappingSource map ) : base ( CONNSTR, map ) { /// 转换相对路径为绝对路径, 并生成连接字符串 string strmp = System.IO.Path.GetFullPath (@"..\DemoLinqToSql\DbAddressBook.mdf");
《ASP程序设计》 第8章数据库基础
8.4 SQL语言简介
SQL(Structure Query Language,结构化查询语言) 是一种被关系型数据库产品广泛使用的标准结构化查询 语言。主要用于对数据库中的数据进行组织、管理和检 索。各种关系型数据库都支持SQL指令。SQL语句是一种 类似于英语的语句,很容易理解,大多数语句都直述其 意,读起来像自然语言一样明了。
8.3.1 建立数据库
⑷单击当前窗口中的右上角 的关闭按钮,回到主界面 如图8-6所示的【jxgl:数 据库】对话框②;在当前 对话框中双击xsxx,打开 记录输入如图8-7所示的 【xsxx表】输入记录对话 框,输入数据。
8.3.1 建立数据库
8.3.1 建立数据库
根据上述步骤依次建立课程 表kc和选课表xx,如图88和图8-9所示。
8.3.2 建立查询集合
最后单击【查询】→【运 行】,则查询结果以表格 形式出现,如图8-13所示。
以上操作也可以通过SQL 语句完成。在查询设计器 窗口中单击【关闭】按钮, 然后单击右键,选择 “SQL视图”,弹出如图 8-14所示的【查询2:选 择查询】对话框,输入查 询语句select 籍贯 from xsxx也可。
8.1.1 数据库的基本概念
关系型数据库采用二维表的方式来描述数据与数据之间的关系,表 格的每一列都是一个属性,俗称字段;字段有字段名和字段值,字 段名在一个表中不能重复。表格的每一行都表示一个实体或者两个 实体之间的联系,俗称记录;行列交叉位置称为值,值有数据类型、 字节大小等相关属性。
数据库系统:是指引进数据库技术的计算机系统,包括计算机硬件 系统、数据库管理系统、操作系统以及在它支持下建立起来的数据 库,应用程序、用户和维护人员的组成的一个整体。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
孙永杰著作《ASP.NET开发》 第8章 Web窗体的数据控件 在了解了ADO.NET基础后,就可以使用ADO.NET提供的对象进行数据库开发和操作。ASP.NET还提供了一些Web窗体的数据控件,开发人员能够智能的配置与数据库的连接,而不需要手动的编写数据库连接。ASP.NET不仅提供了数据源控件,还提供了能够显示数据的控件,简化了数据显示的开发,开发人员只需要简单的修改模板就能够实现数据显示和分页。
8.1 数据源控件 数据源控件很像ADO.NET中的Connection对象,数据源控件用来配置数据源,当数据控件绑定数据源控件时,就能够通过数据库源控件来获取数据源中的数据并显示。而无需通过程序实现数据源代码的编写。
8.1.1 SQL数据源控件(SqlDataSource) SqlDataSource控件代表一个通过ADO.NET连接到SQL数据库提供者的数据源控件。并且SqlDataSource能够与任何一种ADO.NET支持的数据库进行交互,这些数据库包括SQL Server、ACCESS、Oledb、Odbc以及Oracle。 SqlDataSource控件能够支持数据的检索、插入、更新、删除、排序等,以至于数据绑定控件可以在这些能力被允许的条件下自动的完成该功能,而不需要手动的代码实现。并且SqlDataSource控件所属的页面被打开时,SqlDataSource控件能够自动的打开数据库,执行SQL语句或存储过程,返回选定的数据,然后关闭连接。SqlDataSource控件强大的功能极大的简化了开发人员的开发,缩减了开发中的代码。但是SqlDataSource控件也有一些缺点,就是在性能上不太适应大型的开发,而对于中小型的开发,SqlDataSource控件已经足够了。 1.建立SqlDataSource控件 ASP.NET提供的SqlDataSource控件能够方便的添加到页面,当SqlDataSource控件被添加到ASP.NET页面中时,会生成ASP.NET标签,示例代码如下所示。 切换到视图模式下,点击SqlDataSource控件会显式【配置数据源……】,单击【配置数据源……】连接时,系统能够智能的提供SqlDataSource控件配置向导,如图8-1所示。 在新建数据源后,开发人员可以选择是否保存在web.config数据源中以便应用程序进行全局配置,通常情况下选择保存。由于现在没有连接,单击【新建连接】按钮选择或创建一个数据源。单击后,系统会弹出对话框用于选择数据库文件类型,如图8-2所示。 孙永杰著作《ASP.NET开发》 212
图8-1 配置SqlDataSource控件 图8-2 选择数据源
当选择完后,配置信息就会显式在web.config中。当需要对用户控件进行维护时,可以直接修改web.config,而不需要修改每个页面的数据源控件,这样就方便了开发和维护。当选择了数据源后,需要对数据源的连接进行配置,这一步与ADO.NET中的Connection对象一样,就是要与数据库建立连接,当配置好连接后,可以单击【测试连接】按钮来测试是否连接成功,如图8-3和图8-4所示。
图8-3 添加连接 图8-4 测试连接
连接成功后,单击【确定】按钮,系统会自动添加连接,如图8-5所示。连接添加成功后,在web.config配置文件中,就有该连接的连接字串,代码如下所示。 providerName="System.Data.SqlClient" /> 数据源控件可以指定开发人员所需要使用的Select语句或存储过程,开发人员能够在配置Select语
句窗口中进行Select语句的配置和生成,如果开发人员希望手动编写Select语句或其他语句,可以单击【指定自定义SQL语句或存储过程】按钮进行自定义配置,Select语句的配置和生成如图8-6所示。 孙永杰著作《ASP.NET开发》 213
图8-5 成功添加连接 图8-6 配置使用Select语句
对于开发人员,只需要勾选相应的字段,选择Where条件和Order By语句就可以配置一个Select语句。但是,通过选择只能够查询一个表,并实现简单的查询语。如果要实现复杂的SQL查询语句,可以单击【指定自定义SQL语句或存储过程】进行自定义SQL语句或存储过程的配置,如图8-7所示,开发人员选择了一个getdetail的存储过程作为数据源。 单击【下一步】按钮,就需要对相应的字段进行配置,这些字段就像ADO.NET中的参数化查询一样。在数据源控件中,也是通过@来表示参数化变量,当需要配置相应的字段,例如配置WHERE语句等就需要对参数进行配置,如图8-8所示。
图8-7 定义自定义语句或存储过程 图8-8 添加WHERE子句
添加WHERE子句时,SQL语句中的值可以选择默认值、控件、Cookie或者是Session等。当配置完成后,就可以测试查询,如果测试后显示的结果如预期一样,则可以单击完成,如图8-9所示。
图8-9 测试查询并完成 完成后,SqlDataSource控件标签代码如下所示。 ConnectionString="<%$ ConnectionStrings:mytableConnectionString %>" SelectCommand="SELECT [TITLE], [ID] FROM [mynews]"> 孙永杰著作《ASP.NET开发》 214 2.配置SqlDataSource控件属性 SqlDataSource控件还包括一些可视化属性,这些属性包括删除查询(DeleteQuery)、插入查询(InsertQuery)、检索查询(SelectQuery)以及更新查询(UpdateQuery)。当需要使用可视化属性时,需选择【使用自定SQL语句或存储过程】复选框,在导航中可以使用查询生成器生成查询语句,如图8-10所示。
图8-10 自定义语句或存储过程 选择【查询生成器】按钮,系统会提示选择相应的表并通过相应的表来生成查询语句,如图8-11和图8-12所示。
图8-11 选择相应的表 图8-12 使用查询生成器
配置相应的查询语句后,SqlDataSource控件的HTML代码如下所示。 ConnectionString="<%$ ConnectionStrings:mytableConnectionString %>" InsertCommand="INSERT INTO mynews(ID) VALUES ('control title')" SelectCommand="SELECT [TITLE], [ID] FROM [mynews]"> 上述代码自动增加了一个InsertCommand并指定了Insert语句。开发人员可以为SqlDataSource控件
指定四个命令参数:SelectCommand、UpdateCommand、DelectCommad和InsertCommand。每个都是数据源控件的单一属性,开发人员可以配置相应的语句指定Select、Update、Delete以及Insert方法。 SqlDataSource控件同时能够使用缓存来降低页面与数据库之间连接频率,这样可以避免开销很大的查询操作,以及建立连接和关闭连接操作。只要数据库是相对稳定不变的,则可以使用SqlDataSource控件的缓存属性(EnableCaching)来进行缓存。在默认情况下,缓存属性(EnableCaching)是关闭的,孙永杰著作《ASP.NET开发》 215 需要开发人员自行设置缓存属性。 8.1.2 Access数据源控件(AccessDataSource) 在上一章中介绍了如何使用ADO.NET中OleDb来连接和读取Access数据库。Access数据库是一种桌面级的数据库,当对应用程序性能,以及数据库性能要求不是很高,并且数据量不需很大时,可以考虑选择Access数据库。 SqlDataSource能够与任何一种ADO.NET支持的数据源进行交互,这些数据源包括SQL Server、Access、Oledb、Odbc以及Oracle。但是Access数据库有专门的数据源控件,就是AccessDataSource。AccessDataSource控件同配置SqlDataSource控件基本相同,如图8-13所示。 与SqlDataSource不同的是,SqlDataSource主要采用的是ConnectionString属性连接数据库,而Access则采用的是AccessDataSource方式连接数据库。因为Access数据库是以文件的形式存在于系统中的,所以主要采用DataFile属性直接以文件地址的方式进行连接。要连接Access数据库,则必须选择Access数据库文件,如图8-14所示。
图8-13 选择数据库 图8-14 选择Access文件
在选择了Access数据库文件后,单击【确定】按钮,系统就会为开发人员配置连接字串,在核对无误后,单击【下一步】按钮进入Select语句的配置。同SqlDataSource控件一样,同样能够配置Select语句或自定义存储过程,如图8-15所示。
同样8-15 配置Access数据库的Select语句