互动媒体学习社区系统.doc

上传人:laozhun 文档编号:3996822 上传时间:2023-03-30 格式:DOC 页数:60 大小:5.56MB
返回 下载 相关 举报
互动媒体学习社区系统.doc_第1页
第1页 / 共60页
互动媒体学习社区系统.doc_第2页
第2页 / 共60页
互动媒体学习社区系统.doc_第3页
第3页 / 共60页
互动媒体学习社区系统.doc_第4页
第4页 / 共60页
互动媒体学习社区系统.doc_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《互动媒体学习社区系统.doc》由会员分享,可在线阅读,更多相关《互动媒体学习社区系统.doc(60页珍藏版)》请在三一办公上搜索。

1、第六章互动媒体学习社区(ASP.NET 2.0+Access 实现)随着Internet 的普及,网络已成为人们学习、工作、生活不可或缺的一部分。网络学习是信息化社会学习的主要途径之一,而网络学习受到广大学习者的青睐是因为在网络上学习资源丰富、学习时间灵活,还可以通过互动交流方式进行学习。而互动交流是非常有效的网络学习手段,对学习者的创新能力和认知能力的发展,发挥着不可低估的作用。本章通过开发一个媒体学习网站互动媒体学习社区,介绍如何利用ASP.NET 2.0 + Access 快速开发一个互动媒体学习社区。通过学习本章,你将学到::互动媒体学习社区开发的基本过程: 如何分析并设计数据库: 如

2、何设计公共类: 主要功能模块的实现方法: Access 数据库在网站中的应用: 面向对象的开发思想: 分层开发模式: 实现网络播放媒体文件6.1 开发背景在网络上丰富多彩的学习资源中,传统的文档资源和图片资源已不能满足学习者对学习资源的需求,学习者迫切需要通过视觉或听觉直观地对学习资源进行深刻的了解,从而产生了视频学习资料和语音学习资料。互动媒体学习社区通过构建一个虚拟的网络学习社区环境,学习者可以通过这个环境发布视频教程或语音教程进行相互学习交流。6.2 需求分析互动媒体学习社区是为学习者提供的学习和交流的平台,所以互动媒体学习社区应具有基本的视频学习功能、语音学习功能和留言功能。在基本功能

3、之上还可以添加会员注册功能,利用会员功能对访问者的权限进行控制,例如普通用户不可以发布教程或下载教程而会员用户则可以。另外互动媒体学习社区还需要具有美观、简洁的人机界面、良好的查询功能、网站的易维护性和易操作性。6.3 系统设计6.3.1 系统目标根据需求分析的描述以及实际考察,现制定网站实现功能如下。 操作简单方便、界面简洁美观。 注册功能,用户通过注册成为网站会员。 发布下载教程,对会员提供发布教程和下载教程的功能。 密码找回功能,当会员忘记密码时可以通过此功能找回。 留言功能,通过留言功能进行互动交流。 查询功能,使用户通过查询快速找到需要的教程。 后台管理功能,管理员通过后台进行网站的

4、维护和管理。 系统运行稳定,安全可靠。6.3.2 业务流程图互动媒体学习社区业务流程图如图6.1 所示。6.3.3 系统功能结构根据互动媒体学习社区的特点,可以将其分为前台和后台两个部分设计。前台主要实现发布教程(发布视频或语音教程、查看已发布的语音教程、查看已发布的视频教程)、浏览教程(浏览视频或语音教程、发布留言)、登录功能、查询功能。后台主要实现公告管理(管理公告、发布公告)、教程管理(发布教程、管理视频教程、管理语音教程)、用户管理等功能。互动媒体学习社区的前台功能结构如图6.2 所示。 互动媒体学习社区的后台功能结构如图6.3 所示。6.3.4 系统预览互动媒体学习社区网由多个页面组

5、成,下面仅列出几个典型页面,其他页面参见光盘中的源程序。首页如图6.4 所示,主要实现显示导航、最新教程、教程排行、公告信息、登录功能和搜索功能。查看教程页面如图6.5 所示,主要实现观看视频教程和发布留言功能。 图6.4 首页(光盘index.aspx)图6.5 查看教程页(光盘seeVideo.aspx)发布教程页面如图6.6 所示,主要实现发布教程、视频教程管理和语音教程管理。后台视频管理页如图6.7 所示,主要实现查看视频详细信息、视频留言管理、删除视频操作。% 注意:由于路径太长,因此省略了部分路径,图6.4、图6.5 和图6.6 省略的路径是“TM06studyCommunity”

6、,图6.7 省略的路径是“TM06studyCommunitymanage”。图6.6 发布教程页(光盘 issuance.aspx)图6.7 后台视频管理页(光盘 manage_video.aspx)6.3.5 构建开发环境1网站开发环境网站开发环境:Microsoft Visual Studio 2005 集成开发环境。网站开发语言:ASP.NET+C#。网站后台数据库:Microsoft Access。开发环境运行平台:Windows XP(SP2)/ Windows 2000(SP4)/ Windows Server 2003(SP1)。% 注意:SP(Service Pack)为Wi

7、ndows 操作系统补丁。2服务器端操作系统:Windows Server 2003(SP1)。Web 服务器:Internet 信息服务(IIS)管理器。数据库服务器:Microsoft Access。浏览器:IE 6.0。网站服务器运行环境:Microsoft .NET Framework SDK v2.0。3客户端浏览器:Internet Explorer 6.0。分辨率:最佳效果1024768 像素。6.3.6 数据库设计本程序采用Access 作为后台数据库,数据库名称为db_study,其中包含6 个数据表,下面将分别介绍。1数据库概要说明为了使读者对本程序系统后台数据库中的数据表

8、有一个更清晰的认识,在此给出了数据库的结构图,该结构图包括系统所有的数据表,如图6.8 所示。2数据库E-R 图分析通过对网站进行的需求分析、网站流程设计以及系统功能结构的确定,规划出系统中使用的数据库实体对象分别为公告信息实体、会员信息实体、留言信息实体、视频教程信息实体(由于视频教程信息实体和语音教程信息实体类似,这里只给出视频教程信息实体)和语言类型实体。实体E-R 图如下所示。公告信息实体E-R 图如图6.9 所示。图6.8 数据库结构图图6.9 公告信息E-R 图会员信息实体E-R 图如图6.10 所示。图6.10 会员信息E-R 图留言信息实体E-R 图如图6.11 所示。视频教程

9、信息实体E-R 图如图6.12 所示。语言类型实体E-R 图如图6.13 所示。3数据表结构设计完数据库实体E-R 图之后,根据实体E-R 图设计数据表结构。下面将5 张数据表的数据结构和用途分别列出(由于视频教程信息表和语音教程信息表类似,在此只给出语音教程信息表)。图6.11 留言信息实体E-R 图图6.12 视频教程信息实体E-R 图图6.13 语言类型实体E-R 图& 说明:视频教程信息表和语音教程信息表类似,在分析实体E-R 图中只给出了视频教程信息实体E-R 图,而数据表结构中只给出了语音教程信息表。 tb_Bulletin(公告信息表)公告信息表主要存储管理员发布的公告信息,如表

10、6.1 所示。表6.1 公告信息表结构 tb_login(会员信息表)会员信息表主要存储会员注册的信息,如表6.2 所示。 tb_Sound(语音教程信息表)语音教程信息表主要存储会员发布的语音教程信息,如表6.3 所示。表6.3 语音教程信息表结构 tb_Speak(留言信息表)留言信息表主要存储用户留言的详细信息,如表6.4 所示。表6.4 留言信息表结构 tb_Type(语言类型表)语言类型表主要存储用户选择的编程语言,如表6.5 所示。表6.5 语言类型表结构6.3.7 文件夹组织结构为了便于读者对本网站的学习,在此笔者将网站文件的组织结构展示出来。前台文件组织结构如图6.14 所示。

11、后台文件组织结构如图6.15 所示。图6.14 前台文件组织结构图图6.15 后台管理文件组织结构图6.4 公共类设计6.4.1 数据库操作类设计数据库操作类用来完成数据库的连接操作以及数据库的查询、添加、删除和修改操作。将这几种操作编写到一个公共类里,可以减少重复代码的编写,有利于代码的维护。创建数据库操作类的方法为:在Microsoft Visual Studio 2005 菜单栏中选择“网站”/“添加新项” 命令,在弹出的“添加新项”对话框中选择“类”,将其命名为dataOperate.cs,如图6.16 所示。图6.16 添加数据库操作类单击“添加”按钮将弹出一个提示对话框,如图6.1

12、7 所示,此对话框询问是否将刚才创建的类存放在App_Code 文件夹中,单击“是”按钮,完成数据库操作类的创建。图6.17 提示对话框在解决方案资源管理器里的App_Code 文件夹中可以看到新创建的数据库操作类。双击数据库操作类,进行此类的编写。在此类里可以看到系统自动添加的命名空间、公共类和构造函数。由于此类需要对数据库进行操作,所以需要引用命名空间System.Data.OleDb。代码如下:例程01 代码位置:光盘TM06studyCommunityApp_Code dataOperate.csusing System;using System.Data;using System.C

13、onfiguration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.OleDb;/ / dataOperate 的摘要说明/ public class dataOperatepublic static DataSet ds;public dataOperate()/

14、TODO: 在此处添加构造函数逻辑/dataOperate 类中一共定义了6 个方法,下面分别对这几个方法进行讲解。 createCon 方法createCon()方法用来连接数据库,此方法返回的类型为OleDbConnection,主要用来构造数据库的连接。代码如下:例程02 代码位置:光盘TM06studyCommunityApp_Code dataOperate.cspublic OleDbConnection createCon()OleDbConnection odbc = new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;Da

15、tasource=|DataDirectory|db_study.mdb;); /生成OleDbConnection的一个对象用于连接数据库return odbc; adlData 方法adlData(string sql)方法用来添加或删除数据。此方法返回一个布尔值,用来表示添加或删除数据是否成功,执行成功返回true,否则返回false。调用此方法时应传入一个string 类型的参数,此参数表示所要执行的SQL 语句。代码如下:例程03 代码位置:光盘TM06studyCommunityApp_Code dataOperate.cspublic bool adlData(string sq

16、l)OleDbConnection Odbc =createCon(); /调用createCon方法连接数据库Odbc.Open(); /打开数据库连接OleDbCommand com = new OleDbCommand(sql, Odbc); /对Access数据库执行一个SQL语句int i = Convert.ToInt32(com.ExecuteNonQuery(); /返回所影响的行并转换成int类型Odbc.Close();if (i 0)return true;elsereturn false; isData 方法isData(string sql)方法用来查找数据是否存在。

17、此方法返回一个整型值,用来表示是否查找到数据,查找到数据则返回一个大于0 的值,否则返回0。调用此方法时应传入一个string 类型的参数,此参数表示所要执行的SQL 语句。代码如下:例程04 代码位置:光盘TM06studyCommunityApp_Code dataOperate.cspublic int isData(string sql)OleDbConnection Odbc =createCon(); /调用createCon方法连接数据库Odbc.Open(); /打开数据库连接OleDbCommand com = new OleDbCommand(sql, Odbc); /对A

18、ccess数据库执行一个SQL语句int i = Convert.ToInt32(com.ExecuteScalar(); /返回首行首列Odbc.Close();return i; UpdateData 方法updateData(string sql)方法用来更新数据。此方法没有返回值。在调用此方法时应传入一个string类型的参数,此参数表示所要执行的SQL 语句。代码如下:例程05 代码位置:光盘TM06studyCommunityApp_Code dataOperate.cspublic void updateData(string sql)OleDbConnection Odbc =

19、createCon(); /调用createCon方法连接数据库Odbc.Open(); /打开数据库连接OleDbCommand com = new OleDbCommand(sql,Odbc); /对Access数据库执行一个SQL语句com.ExecuteScalar(); /返回首行首列Odbc.Close(); row 方法row(string sql)方法用来查找并返回一行数据。此方法返回一个OleDbDataReader 对象。在调用此方法时应传入一个string 类型的参数,此参数表示所要执行的SQL 语句。代码如下:例程06 代码位置:光盘TM06studyCommunity

20、App_Code dataOperate.cspublic OleDbDataReader row(string sql)OleDbConnection Odbc =createCon(); /创建OleDbConnection对象Odbc.Open(); /打开数据库连接OleDbCommand com = new OleDbCommand(sql, Odbc);return com.ExecuteReader(); /返回OleDbDataReader对象 rows 方法rows(string sql, string table)方法用来查找并返回多行数据。此方法返回一个DataTable

21、 对象。在调用此方法时应传入两个string 类型的参数,第一个参数表示要执行的SQL 语句,第二个参数表示表名。代码如下:例程07 代码位置:光盘TM06studyCommunityApp_Code dataOperate.cspublic DataTable rows(string sql, string table)DataSet ds;OleDbConnection Odbc =createCon();Odbc.Open();OleDbDataAdapter oda = new OleDbDataAdapter(sql,Odbc);ds = new DataSet(); /创建数据集o

22、da.Fill(ds,table); /填充数据集Odbc.Close();return ds.Tablestable; /返回数据表6.4.2 业务功能类设计网站业务功能类用来存放开发中常用的方法,可以减少重复代码的编写,有利于代码的维护。此类中有两个自定义方法,即Encrypting 方法和Decrypting 方法,这两个方法主要用来完成重要信息的加密和解密。 Encrypting 方法Encrypting(string Source)方法用来对比较重要的信息进行加密操作。此方法返回一个string 类型的值,该值表示已经加密的信息。在调用此方法时应传入一个string 类型的参数,此参

23、数表示需要加密的信息。代码如下:例程08 代码位置:光盘TM06studyCommunityApp_Code Operate.cspublic static string Encrypting(string strSource)/把字符串放到byte数组中byte bytIn = System.Text.Encoding.Default.GetBytes(strSource);/建立加密对象的密钥和偏移量byte iv = 102, 16, 93, 156, 78, 4, 218, 32 ; /定义偏移量byte key = 55, 103, 246, 79, 36, 99, 167, 3 ;

24、 /定义密钥/实例DES加密类DESCryptoServiceProvider mobjCryptoService = new DESCryptoServiceProvider();mobjCryptoService.Key = iv;mobjCryptoService.IV = key;ICryptoTransform encrypto = mobjCryptoService.CreateEncryptor();/实例MemoryStream流加密文件System.IO.MemoryStream ms = new System.IO.MemoryStream();CryptoStream c

25、s = new CryptoStream(ms, encrypto, CryptoStreamMode.Write);cs.Write(bytIn, 0, bytIn.Length);cs.FlushFinalBlock();return System.Convert.ToBase64String(ms.ToArray();% 注意:实现此方法需引用System.Security.Cryptography;命名空间。 Decrypting 方法Decrypting (string Source)方法将已加密的信息进行解密。此方法返回一个string 类型的值,该值表示解密后的信息。在调用此方法

26、时应传入一个string 类型的参数,此参数表示需要解密的信息。代码如下:例程09 代码位置:光盘TM06studyCommunityApp_Code Operate.cspublic static string Decrypting(string Source)try/将解密字符串转换成字节数组byte bytIn = System.Convert.FromBase64String(Source);/给出解密的密钥和偏移量,密钥和偏移量必须与加密时的密钥和偏移量相同byte iv = 102, 16, 93, 156, 78, 4, 218, 32 ; /定义偏移量byte key = 55

27、, 103, 246, 79, 36, 99, 167, 3 ; /定义密钥DESCryptoServiceProvider mobjCryptoService = new DESCryptoServiceProvider();mobjCryptoService.Key = iv;mobjCryptoService.IV = key;/实例流进行解密System.IO.MemoryStream ms = new System.IO.MemoryStream(bytIn, 0, bytIn.Length);ICryptoTransform encrypto = mobjCryptoService

28、.CreateDecryptor();CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read);StreamReader strd = new StreamReader(cs, Encoding.Default);return strd.ReadToEnd();catch (Exception ex)throw new Exception(在文件解密的时候出现错误!错误提示: n + ex.Message);% 注意:实现Encrypting 方法和Decrypting 方法需引用System.Securit

29、y.Cryptography;命名空间、System.IO;命名空间、System.Text;命名空间。6.5 网站首页设计6.5.1 网站首页概述首页设计的好坏直接影响到浏览者及用户对本网站的印象,页面整体布局要合理,简洁美观,网站首页的运行效果如图6.18 所示。在网站首页中包括以下几个模块: 网站导航(包括发布教程、视频课堂、语音课堂、注册、联系我们) 教程搜索(可以根据教程类型和教程语言进行搜索) 网站公告(网站近期的动态) 用户登录 最新发布教程(包括最新发布的视频教程和语音教程) 教程排行榜(包括点击率最高的视频教程和语音教程)图6.18 网站首页6.5.2 网站首页技术分析 网页

30、对话框模式显示信息在首页中公告的详细信息是以网页对话框模式显示的。实现此功能主要通过应用window 对象的showModalDialog 方法来实现。其语法格式如下:variant=object.showModalDialog(sURL,vArguments,sFeatures)sURL:指定URL 文件地址。vArguments:用于向网页对话框传递参数,传递参数的类型不限,对于字符串类型最大为4096 个字符,也可以传递对象。sFeatures:对话框窗口的设置参数,可选项。设置参数如表6.6 所示。表6.6 对话框窗口的设置参数在本程序中利用JavaScript 语言将弹出窗口做成一个

31、方法,方便在页面中使用。代码如下:function openPWD(传入打开窗口的值)window.showModalDialog(需要打开窗口的路径+传入打开窗口的值, ,dialogHeight: 300px; dialogWidth:480px;dialogTop:px; dialogLeft:px; edge: Raised; center: Yes; help: No; resizable: No; status: No;scroll:No); 滚动显示公告信息实现滚动显示公告主要通过marquee 元素来实现。marquee 元素可以滚动文字、图片、表格等。marquee 元素主要

32、有以下几个属性。 Direction 属性:此属性主要设置信息滚动方式。 Onmouseout 属性:当鼠标离开marquee 元素时调用this.start()方法使信息继续滚动。 Onmouseover 属性:当鼠标停留在marquee 元素时调用this.stop()方法使信息停止滚动。 ScrollAmount 属性:设置当前信息的滚动速度。1 为最慢。marquee 元素实现滚动信息的代码如下:6.5.3 网站首页实现过程本模块使用的数据表:tb_Video、tb_Sound。1设计步骤(1)在该网站中新建一个Web 窗体,将其命名为index.aspx,用于显示网站的首页。(2)在

33、Web 窗体中添加Tabel 表格,用于页面的布局。(3)在Tabel 表格中添加相关的服务器控件,控件的属性设置及其用途如表6.7 所示。表6.7 首页中各控件名称、属性设置及用途2实现代码在主页Web 窗体的加载事件中调用各个功能绑定到DataList 控件上的方法。实现代码如下:例程10 代码位置:光盘TM06studyCommunity index.aspx.csprotected void Page_Load(object sender, EventArgs e)u if (!IsPostBack)v if (SessionUserName != null) /判断用户是否登录w P

34、anelEntry.Visible = false; /设置登录窗口为不显示PanelHello.Visible = true; /设置显示欢迎词this.Label1.Text = SessionUserName.ToString();elsePanelHello.Visible = false; /设置不显示欢迎词PanelEntry.Visible = true; /设置显示登录窗口cretVideo(); /自定义方法用来绑定最新视频教程creatSound(); /自定义方法用来绑定语音教程U 代码贴士u IsPostBack 方法:获取一个值,该值指示该页是否正为响应客户端回发而加

35、载,或者它是否正被首次加载和访问。v SessionUserName:用来存储用户登录名。w Visible 属性:获取或设置一个值,该值指示服务器控件是否呈现在页面上。由于公告、视频排行、语音排行、最新视频和最新语音绑定到GridView 控件上的方法类似,这里主要介绍最新视频排行的绑定方法。创建自定义方法,命名为cretVideo,在方法中建立SQL 语句,调用数据库操作中的rows 方法并传入SQL 语句。将返回值绑定到GridView 上。实现代码如下:例程11 代码位置:光盘TM06studyCommunity index.aspx.csprotected void cretVide

36、o()trydataOperate mydo = new dataOperate(); /实例数据库操作类string sql = SELECT top 10 * from tb_Video as a inner join tb_Type asb on a.VideoType=b.TypeID ORDER BY VideoID DESC;u gvNewVideo.DataSource = mydo.rows(sql, tb_Video).DefaultView;v gvNewVideo.DataBind() ();catch (Exception error)Response.Redirect

37、(error.aspx); /跳转到错误页面U 代码贴士u GridView.DataSource 属性:表示数据源的对象,数据绑定控件从该对象中检索其数据。v GridView.DataBind:将数据源绑定到GridView 控件。6.6 用户注册页设计6.6.1 用户注册页概述浏览者可以通过用户注册功能注册成为本网站的会员,用户注册并登录后,可以发布自己制作或收集的视频教程和语音教程,也可以下载自己喜欢的教程。当用户在首页单击导航栏中“注册”链接按钮或在登录模块中单击“新用户注册”链接按钮时,将进入用户注册的页面。用户注册页面如图6.19所示。6.6.2 用户注册页技术分析实现用户注册信

38、息时应注意以下事项:用户名不能为空、密码必须填写、两次密码输入必须一致、电子邮件地址格式是否正确、身份证号位数是否正确。这些信息的验证都是通过服务器验证控件来实现的。服务器验证控件及其主要属性设置和用途如表6.8 所示。图6.19 用户注册页面表6.8 服务器验证控件及其主要属性设置和用途在用户注册信息中的用户名需要是唯一的,否则在发布留言时可能会出现两个或多个一样的用户名。解决这个问题可以通过一个按钮控件来实现,在按钮的单击事件中通过调用isName 方法,调用数据库操作类中的isData 方法并返回一个整数类型的值,来判断用户添加的用户名是否在数据库中存在。如果整数值大于0,说明用户已经存

39、在并给出相应的提示信息;等于0,说明用户可以添加此用户名并给出相应的提示信息。IsName 方法代码如下:例程12 代码位置:光盘TM06studyCommunitylogin.aspx.cspublic int isName()int i;/创建SQL语句用来查询用户表中是否存在符合登录名条件的记录string sql = select count(*) from tb_login where Name= + this.txtName.Text.Trim() + ;return i = mydo.isData(sql);当用户添加完合法的注册信息后,需要将注册信息保存到数据库中。在保存时需要

40、考虑用户注册信息的安全性,假如数据库被非法入侵,数据库中的重要信息,如用户的密码将会完全暴露。为了防止此问题,可以将注册信息中的密码通过加密再存储到数据库中。为了防止用户忘记密码,在注册信息里添加了密码提示问题和密码提示答案,用户可以通过密码提示问题和答案来找回忘记的密码,这里的密码提示答案也是比较重要的信息,所以也需要通过加密后存储到数据库中。数据加密一般有两种:双向加密和单向加密。双向加密最常用,它的特点是既能加密又能解密;而单向加密只能对数据进行加密,不能对其解密。由于密码信息还需要找回,所以使用双向加密,双向加密通过调用网站业务功能类中的Encrypting 方法实现。密码提示答案可以

41、使用单向加密,单向加密通过MD5 加密实现。MD5 加密是根据指定的密码和哈希算法生成一个适合于存储在配置文件中的哈希密码。其命名空间为System.Web.Security。密码提示答案加密代码如下:FormsAuthentication.HashPasswordForStoringInConfigFile(this.txtPassSolution.Text, MD5);6.6.3 用户注册页实现过程本模块使用的数据表:tb_login。1设计步骤(1)在该网站中新建一个Web 窗体,将其命名为login.aspx,用于实现用户注册。(2)在Web 窗体中添加Tabel 表格,用于页面的布局

42、。(3)在Tabel 表格中添加相关的服务器控件,控件的属性设置及其用途如表6.9 所示。表6.9 用户注册页面中各控件名称、属性设置及用途2实现代码实现注册功能通过ibtnLogin 控件的Click 事件来实现,Click 事件中需要先调用isName 方法来判断用户名是否存在,再通过调用add 方法将用户添加的注册信息添加到数据库中。实现代码如下:例程13 代码位置:光盘 TM 06studyCommunity login.Aspx.csprotected void btnLogin _Click(object sender, EventArgs e)u if (isName() = 0

43、)if (add()/显示提示信息v Page.RegisterStartupScript(true, alert(成功!);elsePage.RegisterStartupScript(false, alert(失败!);elsePage.RegisterStartupScript(false, alert(用户名已存在!);U 代码贴士u isName():自定义方法判断用户是否存在。v Page.RegisterStartupScript:在页响应中发出客户端脚本块。isName 方法的实现主要通过数据库操作类中的isData 方法并传入SQL 语句,此方法返回一个整数类型的值,该值大于

44、0 表示用户已经存在不可以注册,等于0 表示用户名不存在可以注册。实现代码如下:例程14 代码位置:光盘 TM 06studyCommunity login.aspx.cspublic int isName()dataOperate mydo = new dataOperate(); /创建dataOperate对象int i;string sql = select count(*) from tb_login where Name= + this.txtName.Text.Trim() + ;return i = mydo.isData(sql);add 方法调用了数据库操作类中的adlData 方法并传入SQL 语句,此方法返回一个布尔类型的值,数据添加成功该值返回true,否则返回false。实现代码如下:例程15 代码位置:光盘 TM 06studyCommunity login.aspx.csprotected bool add()u dataOperate mydo = new dataOperate();string name = txtName.Text; /获取用户登录名

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号