C#课程设计.docx
- 文档编号:3565240
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:17
- 大小:137.79KB
C#课程设计.docx
《C#课程设计.docx》由会员分享,可在线阅读,更多相关《C#课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
C#课程设计
**学院
课程设计说明书
(2012/2013学年第一学期)
课程名称:
软件程序设计
题目:
备忘录软件
专业班级:
学生姓名:
放羊娃
学号:
指导教师:
设计周数:
2周
设计成绩:
2013年1月18日
1、课程设计目的
通过本次课程设计的学习和实际上机操作,进一步加强和了解掌握C#和数据库的学习和操作,旨在提高学生的软件编程能力。
本设计将进一步加强学生对面向对象程序设计思想的理解,增强对C#程序语言的灵活运用。
要求学生能结合数据库知识,网络通信技术,实现基本的应用软件,为以后从事相关行业打下软件编程基础。
2、课程设计正文
2.1系统分析
备忘录系统所需要实现的功能是1、支持多用户,根据用户名和密码进入备忘录;2、登录用户可完成备忘信息的录入、修改和删除功能;3、支持登录提醒功能或其它提醒方式。
同时使用采用web窗体和C#语言来进行实际设计。
既然涉及到了多用户等相关操作,就用到了SQLSERVER2005数据库。
2.2系统设计
2.2.1系统备忘录系统的功能模块
用户信息模块:
用来管理用户的注册,修改个人信息
备忘录信息模块:
用来管理用户个人的备忘信息,以及用户备忘信息的编辑,修改,删除。
2..2.2系统流程图
2.2.3数据库系统设计
用户信息表(UserInfo)
列名
数据类型
长度
是否为主键
是否为空
注释
UserName
nvchar
20
是
否
用户登录帐号
UserPwd
nvchar
20
否
否
用户登录密码
备忘录信息表(MessageInfo)
列名
数据类型
长度
是否为主键
是否为空
注释
ID
int
是
否
备忘录标识
Name
nvchar
20
否
否
用户名
Title
nvchar
20
否
否
备忘录标题
DataTime
datetime
否
否
提醒时间
Information
nvchar
MAX
否
是
备忘录内容
备忘录
2.2.4系统功能图
2.3主要系统界面的设计实施如下
2.3.1.登录窗口
输入用户名和正确密码,单击登录即可登录到主要界面,若无用户名,可点击右侧注册,注册新账户和密码,再登陆。
stringsql="select*fromUserInfowhereUserName='"+txtUsername.Text.Trim().ToLower()+"'andUserpwd='"+txtPassword.Text.Trim()+"'";
if(OperateDB.ExecuteReader(sql))
{
username=txtUsername.Text.Trim().ToLower();
frmMainfrm=newfrmMain();
frm.Show();
this.Hide();
}
else
{
MessageBox.Show("用户名或密码错误出错了?
",
MessageBoxButtons.OK,MessageBoxIcon.Error);
}
这段代码实现了用户名和密码的获取并判断用户名和密码是否正确
2注册窗口
注册填写合格的用户名和密码,必须保证两次密码一致
if(textBox1.Text.Trim()==""||textBox2.Text.Trim()==""||textBox3.Text.Trim()=="")
{
MessageBox.Show("请填写完整信息","提示",0);
}
else
{
if(textBox2.Text.Trim()!
=textBox3.Text.Trim())
{
MessageBox.Show("两次输入密码不一致!
","提示",0);
}
else
{
stringconnString=@"DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\bwl.mdf;IntegratedSecurity=True;ConnectTimeout=30;UserInstance=True";
SqlConnectionconn=newSqlConnection(connString);
conn.Open();
SqlCommandcmd=newSqlCommand("",conn);
cmd.CommandText="select*fromUserInfowhereUsername='"+textBox1.Text.Trim()+"'";
if(null==cmd.ExecuteScalar())
{
stringsql="insertintoUserInfo(Username,Userpwd)values('"+textBox1.Text.Trim()+"','"+textBox2.Text.Trim()+"')";
cmd.CommandText=sql;
cmd.ExecuteNonQuery();
MessageBox.Show("添加成功!
","提示",0);
}
else
MessageBox.Show("已有"+textBox1.Text.Trim()+"用户存已在","提示",0);
conn.Close();
}
这段密码是实现信息填写是否正规,两次输入密码是否一致,用户名或密码的存取,若都符合要求即可注册成功。
3.修改密码窗口
输入真确的旧密码和保证两次密码输入一致即可修改密码
if(txtNewPwd.Text.Trim()==txtNewPwdAgain.Text.Trim())
{
//使用类封装
stringsqlCheckPwd="select*fromUserInfowhereUserName='"+frmLogin.username+"'andUserpwd='"+txtOldPwd.Text.Trim()+"'";
if(OperateDB.ExecuteReader(sqlCheckPwd))
{
stringsql="updateUserInfosetUserPwd='"+txtNewPwd.Text.Trim()+"'whereUserName='"+frmLogin.username+"'";
if(OperateDB.ExecuteNonQuery(sql)==1)
{
MessageBox.Show("密码修改成功!
!
");
}
else
{
MessageBox.Show("密码修改失败!
!
");
}
}
else
{
MessageBox.Show("旧密码错误!
!
");
}
这段密码主要实现了新旧密码的获取,验证旧密码是否正确和两次新密码是否一致,如都符合即可修改成功。
4.主界面窗口
主界面主要操作区
单击“用户操作”就会出现“修改密码”和“退出”;单击“备忘管理”后就会出现“添加信息”,“编辑信息”和“查询信息”;单击“帮助”后就会出现“关于本软件”和“访问作者博客”单击相应功能后就会弹出相应窗口‘
5.添加备忘录窗口
if(textBox1.Text.Trim().Length!
=0)
{
stringsql="insertintoInformation(name,Title,Information,Datatime)Values('"+frmLogin.username+"','"
+textBox1.Text.Trim()+"','"+textBox2.Text.Trim()+"','"+dateTimePicker1.Value+"')";
if(OperateDB.ExecuteNonQuery(sql)==1)
{
MessageBox.Show("添加成功!
!
");
}
else
{
MessageBox.Show("添加失败!
!
");
}
}
else
{
MessageBox.Show("标题不能为空!
!
");
}
这段程序实现了标题、内容和时间的读取并判断其是否符合要求。
注:
标题不能为空
6查询备忘录窗口
在标题中输入相关信息就可查询,并支持模糊查询。
stringsql="selectidas编号,Titleas标题,Informationas内容,Datatimeas时间fromInformationwherename='"+frmLogin.username+"'andTitlelike'%"+txtTitle.Text.Trim()+"%'";
DataSetds=OperateDB.ExecuteDataSet(sql);
dataGridView1.DataSource=ds.Tables[0].DefaultView;
这段代码实现了信息的查询并将表头改为汉字。
7编辑修改窗口
单击某一单元格即可输入信息,修改即可;选中一行单击删除即可删除
SqlCommandBuildercb=newSqlCommandBuilder(da);
da.Update(ds);
MessageBox.Show("修改成功!
!
");
这段代码实现了信息的修改并更新数据库
DialogResultdlResult=MessageBox.Show(this,"要删除这些内容?
","请确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if(dlResult==DialogResult.Yes)
{
intj=dataGridView1.SelectedRows.Count;
int[]l=newint[j];
inti;
for(i=0;i { l[i]=dataGridView1.SelectedRows[i].Index; } intk=0; while(k { ds.Tables[0].Rows[l[k]].Delete(); k++; } SqlCommandBuildercb=newSqlCommandBuilder(da); da.Update(ds); } 这段代码实现了信息的删除以及实现了删除确认功能。 8类封装代码 usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Data; usingSystem.Data.SqlClient; usingSystem.IO; namespace备忘录 { publicsealedclassOperateDB { /// ///获取连接数据库的字符串 /// publicstaticstringconnstring { get { using(StreamReadersr=File.OpenText("Conn2DB.txt")) { returnsr.ReadLine(); } } } privatestaticvoidPrepareCommad(SqlCommandcmd,SqlConnectionconn,stringcmdText) { if(conn.State! =ConnectionState.Open) { conn.Open(); } cmd.Connection=conn; cmd.CommandType=CommandType.Text; cmd.CommandText=cmdText; } /// ///执行数据读取操作 /// /// /// publicstaticboolExecuteReader(stringcmdText) { using(SqlConnectionconn=newSqlConnection(connstring)) { SqlCommandcmd=newSqlCommand(); PrepareCommad(cmd,conn,cmdText); SqlDataReaderdr=cmd.ExecuteReader(); returndr.Read(); } } /// ///执行数据增加、删除或修改等操作 /// /// /// publicstaticintExecuteNonQuery(stringcmdText) { using(SqlConnectionconn=newSqlConnection(connstring)) { SqlCommandcmd=newSqlCommand(); PrepareCommad(cmd,conn,cmdText); returncmd.ExecuteNonQuery(); } } /// ///执行数据操作,将结果保存在数据集中。 /// /// /// publicstaticDataSetExecuteDataSet(stringcmdText) { using(SqlConnectionconn=newSqlConnection(connstring)) { SqlCommandcmd=newSqlCommand(); PrepareCommad(cmd,conn,cmdText); SqlDataAdapterda=newSqlDataAdapter(cmd); DataSetds=newDataSet(); da.Fill(ds); returnds; } } } } 4.课程设计总结或结论: 经过这次项目的锻炼,让我充分认识到了自己所学到的知识还很肤浅,C#应用的重要性,还有与数据库的强大联系。 在编写程序的过程中锻炼了自己小心谨慎的思维。 但是自己在这方面学得不好,但经过自己的边学边做还是了解到了很多的知识,由于平时没有努力学习,只对一些基本的知识有所了解,在这两星期里也遇到了很多各种各样的问题,再看了老师的教学视频和同学的帮助下还是勉强完成了这个项目,但还是小有成就感。 但是还是有一些不懂的地方,加上基础不牢,遇到一个问题要解决好久,这是很需要毅力去学习的。 以后还要不断的学习,打牢基础,培养这方面的兴趣,提高自己的能力。 5.参考文献 [1]邱锦伦、曹旻编著.VisualC#.NET程序设计教程.清华大学出版社,2006 [2]程云志等编著.数据库原理与SQLServer2005应用教程.机械工业出版社,2006 [3]MSDNLibraryforVisualStudio2005 [4]马骏.C#网络应用高级编程.人民邮电出版社,2006 课程设计 评语 课程设计 成绩 指导教师 (签字) 年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 课程设计