Web程序设计用大作业报告模板.docx
- 文档编号:9786268
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:26
- 大小:211.61KB
Web程序设计用大作业报告模板.docx
《Web程序设计用大作业报告模板.docx》由会员分享,可在线阅读,更多相关《Web程序设计用大作业报告模板.docx(26页珍藏版)》请在冰豆网上搜索。
Web程序设计用大作业报告模板
武汉工业学院
Web高级程序设计
大作业报告
专业信息系统与信息管理
学号090502227
姓名吴思敏
日期20121019
一、需求分析
1引言
随着网络与信息技术的发展,很多陌生人之间都有了或多或少的联系。
如何更好地管理这些信息是没跟人必须面临的问题,特别是那些很久没有联系的朋友,再次见面无法马上想起关于这个人的记忆,造成一些不必要的尴尬。
基于上述种种原因,开发一套通讯录管理系统很重要,我们结合这次课程设计开发以下的通讯录管理系统方案。
2编写目的
本系统主要是为了更好的管理每个人的通讯录,给每个人提供一个井然有序的管理平台,防止手工管理混乱,造成不必要的麻烦。
3功能需求
通过对自己及朋友的通讯录的询问以及了解,一个完整的通讯录管理系统应该包括:
数据集模块,登录窗体模块,系统管理模块,主窗体模块,通讯录数据管理模块,信息管理模块,登录信息查询模块。
本系统主要实现我们信息的管理,包括我们平时朋友信息的添加、修改、查询和删除,及一些辅助项目的管理,如登录系统用户管理和用户组管理。
二、系统框架
本系统将实现多用户对各自通讯录的管理功能,包括:
添加联系人、修改联系人、删除联系人、查找联系人。
为了体现多用户的特性,还必须包含一个用户管理子系统,作用是对用户的信息进行管理。
具体功能模块如图所示
登录的处理模块
处理流程图如图
不合法接受到用户输入不匹配
合法
匹配
主窗体处理流程图如图
等待用户命令
添加命令修改命令删除命令查找命令视图命令
新增联系人处理模块
新增联系人窗体流程图如图
N
Y
N
Y
添加命令
三、模块设计
登陆界面的实现
登录窗体如图
主窗体的实现
主窗体设计如图
新增联系人实现
新增联系人设计如图
四、编码实现
存储过程代码
查找联系人模块使用储存过程来搜索数据,查找联系人的储存过程如下
ALTERPROCEDURE[查找联系人]
(
@namevarchar(50),
@phonevarchar(50),
@uservarchar(50)
)
AS
iflen(@user)=0return1
iflen(@name)=0andlen(@phone)=0
begin
select姓名,组别,工作单位,联系电话,电子邮箱?
from[联系人]
return
end
iflen(@name)<>0andlen(@phone)=0
begin
set@name='%'+@name+'%'
select姓名,组别,工作单位,联系电话,电子邮箱?
from[联系人]
where姓名like@name
return
end
iflen(@name)=0andlen(@phone)<>0
begin
select姓名,组别,工作单位,联系电话,电子邮箱?
from[联系人]
where联系电话like@phone
return
end
iflen(@name)=0andlen(@phone)<>0
begin
select姓名,组别,工作单位,联系电话,电子邮箱?
from[联系人]
where联系电话like@phoneand姓名like@name
return
end
登录窗体
实现代码如下
privatevoidbtnOK_Click(objectsender,EventArgse)
{
try
{
if(txtUserName.Text.Trim()==""||txtPassword.Text.Trim()=="")
{
MessageBox.Show("用户名不能为空,登录失败",MessageBoxButtons.OK,MessageBoxIcon.Error);
return;
}
//验证用户
SqlConnectionconn=newSqlConnection("server=.;database=通讯录管理系统;uid=sa;pwd=521125;");
StringBuildersql=newStringBuilder();
sql.AppendFormat("selectcount(*)from用户where用户名=杨雪and密码='01'",txtUserName.Text.Trim(),txtPassword.Text.Trim());
SqlCommandcmd=newSqlCommand(sql.ToString(),conn);
conn.Open();
intresult=Convert.ToInt32(cmd.ExecuteScalar());conn.Close();
if(result==1)
{
//登陆成功
frmMainf=newfrmMain();
f.tsslUserName.Text=txtUserName.Text.Trim();
f.Show();
this.Hide();
}
else
{
MessageBox.Show("用户名错误!
","登录失败",MessageBoxButtons.OK,MessageBoxIcon.Error);
return;
}
}
catch(Exceptionee)
{
MessageBox.Show("发生错误!
"+ee.Message,"登录失败",MessageBoxButtons.OK,MessageBoxIcon.Error);
return;
}
}
主窗体
实现代码如下
publicpartialclassfrmMain:
Form
{
privatestringstrConn="server=.;database=通讯录管理系统;uid=sa;pwd=521125;";
publicfrmMain()
{
InitializeComponent();
}
privatevoidtreeView1_AfterSelect(objectsender,TreeViewEventArgse)
{
LoadList();
}
//主窗体加载事件
privatevoidfrmMain_Load(objectsender,EventArgse)
{
LoadGroup();
if(trvGroup.Nodes.Count>0)
{
trvGroup.SelectedNode=trvGroup.Nodes[0];
LoadList();
}
else
{
lvContact.Clear();
}
}
/加载分组信息到TreeView
privatevoidLoadGroup()
{
try
{
trvGroup.Nodes.Clear();
SqlConnectionconn=newSqlConnection(strConn);
SqlCommandcmd=newSqlCommand();
cmd.Connection=conn;
cmd.CommandText="select组别from联系人where用户名='"+tsslUserName.Text+"'";
conn.Open();
SqlDataReadersdr=cmd.ExecuteReader();
while(sdr.Read())
{
trvGroup.Nodes.Add(sdr[0].ToString());
}
sdr.Close();
conn.Close();
}
catch
{}
}
//加载当前分类的联系人信息
privatevoidLoadList()
{
if(trvGroup.Nodes.Count==0)
{
lvContact.Clear();
return;
}
if(trvGroup.SelectedNode.Index>=0)
{
stringstrGroup=trvGroup.SelectedNode.Text;
try
{
lvContact.Clear();
lvContact.Columns.Add("姓名",100);
lvContact.Columns.Add("工作单位",150);
lvContact.Columns.Add("联系电话",100);
lvContact.Columns.Add("电子邮箱",150);
SqlConnectionconn=newSqlConnection(strConn);
SqlCommandcmd=newSqlCommand();
cmd.Connection=conn;
cmd.CommandText="select编号,姓名,工作单位,联系电话,电子邮箱from联系人where组别='"+strGroup+"'and用户名='"+tsslUserName.Text+"'";
conn.Open();
SqlDataReadersdr=cmd.ExecuteReader();
intcount=0;
while(sdr.Read())
{
ListViewItemlvi=newListViewItem();
lvi.Text=sdr["姓名"].ToString();
lvi.SubItems.Add(sdr["工作单位"].ToString());
lvi.SubItems.Add(sdr["联系电话"].ToString());
lvi.SubItems.Add(sdr["电子邮箱?
"].ToString());
lvi.Tag=sdr["编号"];
lvi.ImageIndex=0;
lvContact.Items.Add(lvi);
count++;
}
tsslCount.Text="共计"+count.ToString()+"个联系人";
sdr.Close();
conn.Close();
}
catch
{}
}
}
//详细信息在工具栏上的事件
privatevoid详细信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
lvContact.View=View.Details;
}
//详细信息在菜单栏上的事件
privatevoid详细信息ToolStripMenuItem1_Click(objectsender,EventArgse)
{
lvContact.View=View.Details;
}
//添加方法在主窗体中的实现
privatevoidAdd()
{
frmAddf=newfrmAdd();
if(f.ShowDialog(this)==DialogResult.OK)
{
LoadGroup();
if(trvGroup.Nodes.Count>0)
{
trvGroup.SelectedNode=trvGroup.Nodes[0];
LoadList();
}
else
{
lvContact.Clear();
}
}
}
//编辑方法在主窗体的实现
privatevoidEdit()
{
if(lvContact.SelectedItems.Count==1)
{
stringid=lvContact.SelectedItems[0].Text.ToString();
frmEditf=newfrmEdit(id);
if(f.ShowDialog(this)==DialogResult.OK)
{
LoadGroup();
if(trvGroup.Nodes.Count>0)
{
trvGroup.SelectedNode=trvGroup.Nodes[0];
LoadList();
}
else
{
lvContact.Clear();
}
}
}
}
//删除方法在住窗体中的实现
privatevoidDelete()
{
if(lvContact.SelectedItems.Count<1)
{
return;
}
if(MessageBox.Show("是否要删除选中的联系人","删除确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes)
{
stringstrWhere="";
foreach(ListViewItemlviinlvContact.SelectedItems)
{
strWhere+=lvi.Text.ToString();
}
try
{
SqlConnectionconn=newSqlConnection(strConn);
SqlCommandcmd=newSqlCommand();
cmd.Connection=conn;
cmd.CommandText="deletefrom联系人where姓名='"+strWhere+"'";
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
LoadGroup();
if(trvGroup.Nodes.Count>0)
{
trvGroup.SelectedNode=trvGroup.Nodes[0];
LoadList();
}
else
{
lvContact.Clear();
}
}
catch
{}
}
}
//搜索方法在主窗体中的实现
privatevoidSearch()
{
frmSearchf=newfrmSearch();
if(f.ShowDialog()==DialogResult.OK)
{
LoadGroup();
if(trvGroup.Nodes.Count>0)
{
trvGroup.SelectedNode=trvGroup.Nodes[0];
LoadList();
}
else
{
lvContact.Clear();
}
}
}
}
新增联系人
实现代码如下
publicpartialclassfrmAdd:
Form
{
privatestringstrconn="server=.;database=通讯录管理系统;pwd=521125";
privatestringstrUserName="";
privateintgroupCount=0;
privateintcontentCount=0;
privatestringtxtFilePath="";
publicfrmAdd()
{
InitializeComponent();
}
privatevoidtextBox2_TextChanged(objectsender,EventArgse)
{
}
privatevoidfrmAdd_Load(objectsender,EventArgse)
{
//获取用户名
strUserName=((frmMain)(this.Owner)).tsslUserName.Text;
try
{
SqlConnectionconn=newSqlConnection(strconn);
SqlCommandcmd=newSqlCommand();
cmd.Connection=conn;
//获取配置信息
cmd.CommandText="selete*from用户名where用户名='"+strUserName+"'";
conn.Open();
SqlDataReadersdr=cmd.ExecuteReader();
if(sdr.Read())
{
groupCount=Convert.ToInt32(sdr["组别数量最大值"]);
contentCount=Convert.ToInt32(sdr["
联系人数量最大值"]);
}
sdr.Close();
//获取联系人数
cmd.CommandText="selectcount(*)from联系人where用户名='"+strUserName+"'";
intcount=Convert.ToInt32(cmd.ExecuteScalar());
if(count>=contentCount)
{
MessageBox.Show("联系人的个数已经达到上限如需继续添加联系人,请联系管理员.","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
btnOK.Enabled=false;
}
conn.Close();
}
catch{}
pic.Image=通讯录管理系统.Properties.Resources.main1;
//加载组别
LoadGroup();
}
protectedvoidLoadGroup()
{
try
{
cmbGroup.Items.Clear();
SqlConnectionconn=newSqlConnection(strconn);
SqlCommandcmd=newSqlCommand();
cmd.Connection=conn;
cmd.CommandText="seletedisinct组别from联系人";
conn.Open();
SqlDataReadersdr=cmd.ExecuteReader();
while(sdr.Read())
{
cmbGroup.Items.Add(sdr[0].ToString());
}
sdr.Close();
conn.Close();
if(groupCount>0&&cmbGroup.Items.Count==groupCount)
{
cmbGroup.DropDownStyle=ComboBoxStyle.DropDownList;
}
else
{
cmbGroup.DropDownStyle=ComboBoxStyle.DropDown;
}
}
catch{}
}
privatevoidpic_Click(objectsender,EventArgse)
{
if(dlg.ShowDialog()==DialogResult.OK)
{
pic.Image=Image.FromFile(dlg.FileName);
txtFilePath=dlg.FileName;
}
}
privatevoidbtnOK_Click(objectsender,EventArgse)
{
#region获取信息
//用户名
strUserName=((frmMain)(this.Owner)).tsslUserName.Text;
//姓名
stringname;
if(txtName.Text=="")
{
MessageBox.Show("联系人姓名不能为空","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Error);
return;
}
else
{
name=txtName.Text;
}
stringgroup;
if(cmbGroup.Text.Trim()=="")
{
group="未分组";
}
else
{
group=cmbGroup.Text.Trim();
}
//电话
stringphone=txtPhone.Text.Trim();
//工作单位
stringcompany=txtCompany.Text.Trim();
stringemail=txtEmail.Text.Trim();
//照片
byte[]b=null;
if(txtFilePath!
="")
{
try
{
FileStreamfs=newFileStream(txtFilePath,FileMode.Open,FileAccess.Read);
intlen=Convert.ToInt32(fs.Length);
b=newbyte[len];
fs.Read(b,0,len);
fs.Close();
}
catch
{
b=null;
}
}
#endregion获取信息
#region添加数据
try
{
SqlConnectionconn=newSqlConnection(strconn);
SqlCommandcmd_maxid=newSqlCommand();
cmd_maxid.Connection=conn;
//获取最大编号
cmd_maxid.CommandText="seleteisnull(max(编号),0)+1from联系人";
conn.Open();
intmaxid;
try
{
maxid=Convert.ToInt32(cmd_maxid.ExecuteScalar());
}
catch
{
maxid=1;
}
//insert
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 程序设计 作业 报告 模板