网络U盘课程设计说明书概要.docx
- 文档编号:6527371
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:22
- 大小:82.09KB
网络U盘课程设计说明书概要.docx
《网络U盘课程设计说明书概要.docx》由会员分享,可在线阅读,更多相关《网络U盘课程设计说明书概要.docx(22页珍藏版)》请在冰豆网上搜索。
网络U盘课程设计说明书概要
科信学院
课程设计说明书
(2011/2012学年第一学期)
课程名称:
软件程序设计
题目:
网络U盘
专业班级:
电子信息工程09-1
学生姓名:
学号:
指导教师:
设计周数:
2周
设计成绩:
2012年1月6日
目录
1.绪论1
1.1课程设计的意义及目的2
1.2课程设计的主要任务2
1.3课程设计的技术要求2
2.设计正文3
2.1网络U盘设计分析3
2.1.1需求分析3
2.1.2系统总体框图3
2.2数据库设计3
2.2.1数据库所列表3
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
int
否
否
文件大小
CreateDate
datetime
否
否
创建时间
Url
varchar
255
否
否
文件路径
Type
varchar
200
否
否
文件类型
用户信息表(Users):
表2-2用户信息表(Users)
列名
数据类型
长度
是否为主键
是否为空
注释
UserName
varchar
20
是
否
用户登录帐号
UserPassword
varchar
20
否
否
用户登录密码
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["SQLCONNECTIONSTRING"].ConnectionString);
//定义SQL语句,添加
stringcmdText="INSERTINTODirectoryName,Contain,Url,Type,CreateDate)VALUES("+"'"+sName+"',"+"'"+nContain.ToString()+"',"
+"'"+sUrl+"',"+"'"+sType+"',"+"GetDate()"+")";
//创建Command
SqlCommandmyCommand=newSqlCommand(cmdText,myConnection);
//定义返回值
intnResult=-1;
try
{
myConnection.Open();
//执行SQL语句
nResult=myCommand.ExecuteNonQuery();
}
finally
{//关闭链接
myConnection.Close();
}
//返回nResult
returnnResult;
}
publicintEditFile(intnFileID,stringsName,stringsUrl)
{
SqlConnectionmyConnection=newSqlConnection(
ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
stringcmdText="UPDATEDirectorySETName="+"'"+sName+"'"+",Url="+"'"+sUrl+"'"+"WHEREDirID='"+nFileID.ToString()+"'";
//创建Command
SqlCommandmyCommand=newSqlCommand(cmdText,myConnection);
//定义返回值
intnResult=-1;
try
{
//打开链接
myConnection.Open();
//执行SQL语句
nResult=myCommand.ExecuteNonQuery();
}
finally
{//关闭链接
myConnection.Close();
}
returnnResult;
}
publicintDeleteFile(intnFileID)
{
SqlConnectionmyConnection=newSqlConnection(
ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
stringcmdText="deleteDirectorywhereDirID="+"'"+nFileID.ToString()+"'";
SqlCommandmyCommand=newSqlCommand(cmdText,myConnection);
intnResult=-1;
try
{
myConnection.Open();
//执行SQL语句
nResult=myCommand.ExecuteNonQuery();
}
finally
{//关闭链接
myConnection.Close();
}
//返回nResult
returnnResult;
}
}
(2)用户登录代码Login.aspx.cs:
protectedvoidButton1_Click(objectsender,EventArgse)
{//打开连接
SqlConnectionmyConnection=newSqlConnection(
ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
myConnection.Open();
//定义查询语句
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("");
}
dr.Close();
myConnection.Close();
}
(3)新用户注册代码UserAdd.aspx.cs:
protectedvoidButton1_Click(objectsender,EventArgse)
{
if(TextBox1.Text.Trim().Length!
=0)
{
if(TextBox2.Text.Trim().Length!
=0)
{
if(TextBox2.Text.Trim()==TextBox3.Text.Trim())
{
//创建连接
SqlConnectionmyConnection=newSqlConnection(
ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
myConnection.Open();
//验证用户名是否存在
SqlCommandcmd=newSqlCommand("select*fromUserswhereUserName='"+TextBox1.Text.Trim()+"'",myConnection);
SqlDataReaderdr=cmd.ExecuteReader();
booli=dr.Read();
dr.Close();
if(i==true||j==true)
{
Response.Write("");
dr.Close();
myConnection.Close();
}
else
{//打开连接
SqlConnectionmyConn=newSqlConnection(
ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
//定义语句
stringsql="insertintoUsers(UserName,UserPassword)values('"+TextBox1.Text.Trim()+"','"+TextBox2.Text+"')";
myConn.Open();
SqlCommandmyCommand3=newSqlCommand(sql,myConn);
intx=myCommand3.ExecuteNonQuery();
//执行添加信息到数据库操作
if(x==1)
{
Session["username"]=TextBox1.Text.Trim();
Response.Write("");}
else
{
Response.Write("");
}
myConn.Close();
}
}
else
{
Response.Write("");
}
}
else
{
Response.Write("");
}
}
else
{
Response.Write("");
}
}
(4)文件列表代码List.aspx.cs:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
Page.IsPostBack)
{//显示目录列表的信息
BindDirectoryData();
}
}
//自定义函数,绑定数据库
privatevoidBindDirectoryData()
{
SqlConnectionmyConnection=newSqlConnection(ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
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;
BindDirectoryData();;//对GridView进行再次绑定
}
protectedvoidTurn_Click(objectsender,EventArgse)
{
if(int.Parse(((TextBox)DiskView.BottomPagerRow.FindControl("txtGoPage")).Text)>0)
{
DiskView.PageIndex=int.Parse(((TextBox)DiskView.BottomPagerRow.FindControl("txtGoPage")).Text)-1;
}
else
{
DiskView.PageIndex=0;
}
BindDirectoryData();//对GridView进行再次绑定
}
(5)修改用户密码的代码ModifyPwd.aspx.cs:
protectedvoidButton1_Click(objectsender,EventArgse)
{
if(TextBox1.Text.Trim().Length!
=0)
{
if(TextBox3.Text.Trim().Length!
=0)
{
if(TextBox3.Text.Trim()==TextBox4.Text.Trim())
{//打开连接
SqlConnectionmyConnection=newSqlConnection(
ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
myConnection.Open();
SqlCommandcmd=newSqlCommand("select*fromUserswhereUserName='"+TextBox1.Text.Trim()+"'andUserPassword='"+TextBox2.Text.Trim()+"'",myConnection);
SqlDataReaderdr=cmd.ExecuteReader();
booli=dr.Read();
dr.Close();
if(i==true)
{
SqlCommandcmd1=newSqlCommand("updateUserssetUserPassword='"+TextBox3.Text.Trim()+"'whereUserName='"+TextBox1.Text.Trim()+"'",myConnection);
intj=cmd1.ExecuteNonQuery();
if(j==1)
{
Response.Write("");
}
else
{
Response.Write("");
}
myConnection.Close();
}
else
{
Response.Write("");
}
}
else
{
Response.Write("");
}
}
else
{
Response.Write("");
}
}
else
{
Response.Write("");
}
}
(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 { if(fileExtension==allowedExtensions[i]) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 课程设计 说明书 概要