网络U盘课程设计说明书概要Word文档下载推荐.docx
- 文档编号:19541131
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:22
- 大小:82.09KB
网络U盘课程设计说明书概要Word文档下载推荐.docx
《网络U盘课程设计说明书概要Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《网络U盘课程设计说明书概要Word文档下载推荐.docx(22页珍藏版)》请在冰豆网上搜索。
2.3程序设计4
2.3.1程序分析4
2.3.2程序流程图4
2.3.3主要代码5
2.4系统测试15
3.设计总结16
4.参考资料17
1绪论
1.1课程设计的意义及目的
软件程序设计是一个重要的实践性教学环节,是通信专业的技术基础课。
通过这一训练可以巩固学生所学C#和数据库的理论知识,有助于学生培养正确的设计思想,逐步树立正确的设计思想,培养分析和解决实际问题的能力。
对后续专业课程的学习、毕业设计以及今后从事程序设计工作奠定扎实的基础具有重要的意义。
其目的主要包括:
(1)通过本次课程设计,熟悉网络U盘的设计过程;
(2)掌握C#和数据库相结合设计软件的方法;
(3)掌握登录、文件上传、下载、删除、重命名等常用功能的编写方法;
(4)掌握数据绑定、排序、分页的实现方法;
(5)掌握其主要思想,能够举一反三,设计其他软件程序。
1.2课程设计的主要任务
(1)根据技术要求和现有开发环境,分析题目;
(2)设计软件方案。
包括:
模式的选择(B/S或C/S)、数据库的选择、软件功能结构、各功能模块的详细描述、关键程序流程图、数据库中表的结构设计等;
(3)调试、修改并完善程序
(4)生成安装程序,编写软件使用说明书(图文结合进行描述);
(5)修改并完善设计;
(6)撰写课程设计报告。
1.3课程设计的技术要求
(1)个人用户登录,新用户注册,密码修改;
(2)个人上传文件,并可对文件进行管理;
(3)个人可下载自己的文件;
(4)文件按时间先后顺序排序显示,并支持分页显示功能。
2设计正文
2.1网络U盘设计分析
2.1.1需求分析
根据网络U盘的技术要求和现有开发环境,作如下具体需求分析:
本设计可以在基于Web模式下实现用户对文件的基本管理,包括上传、下载、重命名和删除等基本操作;
可注册一些新用户进行个人文件的管理;
用户可自行修改自身密码;
在文件列表中文件需按时间先后顺序排序显示,并支持分页显示功能。
2.1.2系统总体框图
图2-1网络U盘系统设计结构图
2.2数据库设计
2.2数据库所列表
文件信息表(Directory):
表2-1文件列表(Directory)
列名
数据类型
长度
是否为主键
是否为空
注释
DirID
int
是
否
文件序号
Name
varchar
20
文件名称
Contain
文件大小
CreateDate
datetime
创建时间
Url
255
文件路径
Type
200
文件类型
用户信息表(Users):
表2-2用户信息表(Users)
UserName
用户登录帐号
UserPassword
用户登录密码
2.3程序设计
2.3.1程序分析
通过分析任务,程序中封装一个类供各部分相应窗体后台代码调用,类名为:
王旭涛.cs。
其中包括的方法为:
获取单个文件的信息---GetSingleFile
添加文件信息到数据库---AddFile
修改数据库中的文件名---EditFile
删除数据库中的文件信息---DeleteFile
对应设计中的用户登录页面、新用户注册页面、查看文件页面、修改密码页面、上传文件页面和管理页面,设计的后台代码及名称包括登录代码Login.aspx.cs,注册代码UserAdd.aspx.cs,文件列表代码List.aspx.cs,修改密码的代码ModifyPwd.aspx.cs,上传代码UpLoad.aspx.cs,下载代码Down.aspx.cs,重命名代码EditFile.aspx.cs,删除文件代码GuanLi.aspx.cs。
2.3.2程序流程图
图2-2用户登录流程图
图2-3新注册用户登录流程图
2.3.1主要代码
(1)封装类王旭涛.cs:
publicclass王旭涛
{
publicSqlDataReaderGetSingleFile(intnFileID)
{
SqlConnectionmyConnection=newSqlConnection(
ConfigurationManager.ConnectionStrings["
SQLCONNECTIONSTRING"
].ConnectionString);
stringcmdText="
SELECT*"
+"
FROMDirectoryWHEREDirectory.DirID='
"
+nFileID.ToString()+"
'
;
SqlCommandmyCommand=newSqlCommand(cmdText,myConnection);
SqlDataReaderdr=null;
myConnection.Open();
dr=myCommand.ExecuteReader(CommandBehavior.CloseConnection);
//返回DataReader
returndr;
}
publicintAddFile(stringsName,intnContain,stringsUrl,stringsType)
{//创建链接
SqlConnectionmyConnection=newSqlConnection(
ConfigurationManager.ConnectionStrings["
//定义SQL语句,添加
INSERTINTODirectoryName,Contain,Url,Type,CreateDate)VALUES("
+sName+"
"
+"
+nContain.ToString()+"
+sUrl+"
+sType+"
GetDate()"
)"
//创建Command
//定义返回值
intnResult=-1;
try
{
//执行SQL语句
nResult=myCommand.ExecuteNonQuery();
finally
{//关闭链接
myConnection.Close();
//返回nResult
returnnResult;
publicintEditFile(intnFileID,stringsName,stringsUrl)
UPDATEDirectorySETName="
Url="
WHEREDirID='
+nFileID.ToString()+"
//打开链接
publicintDeleteFile(intnFileID)
deleteDirectorywhereDirID="
//返回nResult
}
(2)用户登录代码Login.aspx.cs:
protectedvoidButton1_Click(objectsender,EventArgse)
{//打开连接
//定义查询语句
stringsql="
select*fromUserswhereUserName='
+txtUserName.Text.Trim()+"
andUserPassword='
+txtUserPassword.Text.Trim()+"
SqlCommandmyCommand=newSqlCommand(sql,myConnection);
SqlDataReaderdr=myCommand.ExecuteReader();
if(dr.Read())
//登录成功保存用户名到下一页
Session["
username"
]=txtUserName.Text.Trim();
Response.Redirect("
~/Default.aspx"
);
else
Response.Write("
<
script>
alert('
用户名或密码错误!
/script>
dr.Close();
(3)新用户注册代码UserAdd.aspx.cs:
protectedvoidButton1_Click(objectsender,EventArgse)
if(TextBox1.Text.Trim().Length!
=0)
if(TextBox2.Text.Trim().Length!
if(TextBox2.Text.Trim()==TextBox3.Text.Trim())
//创建连接
//验证用户名是否存在
SqlCommandcmd=newSqlCommand("
select*fromUserswhereUserName='
+TextBox1.Text.Trim()+"
myConnection);
SqlDataReaderdr=cmd.ExecuteReader();
booli=dr.Read();
if(i==true||j==true)
注册失败!
用户名已存在!
else
{//打开连接
SqlConnectionmyConn=newSqlConnection(
//定义语句
insertintoUsers(UserName,UserPassword)values('
+TextBox1.Text.Trim()+"
'
+TextBox2.Text+"
myConn.Open();
SqlCommandmyCommand3=newSqlCommand(sql,myConn);
intx=myCommand3.ExecuteNonQuery();
//执行添加信息到数据库操作
if(x==1)
]=TextBox1.Text.Trim();
注册成功!
请牢记您的用户名和密码!
location.href='
Default.aspx'
myConn.Close();
两次输入的密码不一致!
新密码不能为空!
用户名不能为空!
(4)文件列表代码List.aspx.cs:
protectedvoidPage_Load(objectsender,EventArgse)
if(!
Page.IsPostBack)
{//显示目录列表的信息
BindDirectoryData();
//自定义函数,绑定数据库
privatevoidBindDirectoryData()
SqlConnectionmyConnection=newSqlConnection(ConfigurationManager.ConnectionStrings["
SqlDataAdapterda=newSqlDataAdapter("
select*fromdirectoryorderbyCreateDatedesc"
myConnection);
DataSetds=newDataSet();
da.Fill(ds,"
o"
DiskView.DataSource=ds.Tables[0];
DiskView.DataBind();
//分页
protectedvoidDiskView_PageIndexChanging(objectsender,GridViewPageEventArgse)
DiskView.PageIndex=e.NewPageIndex;
;
//对GridView进行再次绑定
protectedvoidTurn_Click(objectsender,EventArgse)
if(int.Parse(((TextBox)DiskView.BottomPagerRow.FindControl("
txtGoPage"
)).Text)>
0)
DiskView.PageIndex=int.Parse(((TextBox)DiskView.BottomPagerRow.FindControl("
)).Text)-1;
DiskView.PageIndex=0;
(5)修改用户密码的代码ModifyPwd.aspx.cs:
if(TextBox3.Text.Trim().Length!
if(TextBox3.Text.Trim()==TextBox4.Text.Trim())
{//打开连接
SqlCommandcmd=newSqlCommand("
andUserPassword='
+TextBox2.Text.Trim()+"
if(i==true)
SqlCommandcmd1=newSqlCommand("
updateUserssetUserPassword='
+TextBox3.Text.Trim()+"
whereUserName='
intj=cmd1.ExecuteNonQuery();
if(j==1)
修改用户密码成功!
请牢记新密码!
修改用户密码失败!
用户名错误或用户名和旧密码不一致"
密码不能为空!
(6)上传文件代码UpLoad.aspx.cs:
protectedvoidButton1_Click1(objectsender,EventArgse)
BooleanfileOK=false;
//指定文件上传路径
stringpath=Server.MapPath("
WebDisk/"
if(FileUpload1.HasFile)
stringfileExtension=System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
string[]allowedExtensions={"
.gif"
"
.png"
.jpeg"
.jpg"
.exe"
.txt"
.rar"
.dll"
};
for(inti=0;
i<
allowedExtensions.Length;
i++)
if(fileExtension==allowedExtensions[i])
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 课程设计 说明书 概要