1C#期末课程设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ds = OperateDB.ExcuteDataSet(sql); dataGridView1.DataSource = ds.Tables[0].DefaultView; } (2)生词录入窗体:通过该界面用户可以把生词和解释录入到单词簿内,其界面如图 2-4、 图 2-5、图 2-6 所示:
图 2-4 录入成功界面图
图 2-10 导出界面
其相关代码如下: private void button5_Click(object sender, EventArgs e)
{ Form2 frm = new Form2();
-7-
frm.Show(); } private void button1_Click(object sender, EventArgs e) {
// SqlCo百度文库nection conn = new SqlConnection(ConnString);//建立连接
-9-
conn.Open(); //异常处理 StreamWriter write = new StreamWriter(@"F:\danci.txt", false, Encoding.Default); //streamwrite 实例化 SqlCommand comm = new SqlCommand(); //command 对?象实例化 string splice;//将读出的数据进行连接 comm.Connection = conn; comm.CommandType = CommandType.Text; //comm.CommandText = "select count(DanCi) from Infodanci"; // int i = Convert.ToInt32(comm.ExecuteScalar()); comm.CommandText = "select * from Table1";//执行 Dsql 语句? if (comm.ExecuteScalar() == null) {
-2-
2.2 系统的设计
2.2.1 数据库的分析与设计
表 2-1 用户基本信息表(T_Users)
列名
数据类型
长度
允许为空
是否为主键
说明
word
nvarchar
20
否
是
单词
jieshi
nvarchar
20
是
否
解释
2.2.2 逻辑层次的设计
本次课设的个人单词簿软件系统可以使用户进行单词的录入、查询、修改、删除、随机考查
SqlCommandBuilder cb = new SqlCommandBuilder(da); da.Update(ds); MessageBox.Show("修改成功!"); } private void button2_Click(object sender, EventArgs e) { DialogResult dlResult = MessageBox.Show(this, "要删除这些信息吗? ", "请确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dlResult == DialogResult.Yes) {
-1-
1、课程设计目的 (1)初步掌握使用 C#工具设计一个具体实例的方法,包括软件的设计,调试的全过程。 (2)通过本次设计掌握使用 c#语言中窗体的建立,各个控件的使用,以及界面的设计。 (3)进一步巩固所学的 C#及数据库的相关理论知识,提高分析和解决实际问题的能力。 2、系统的分析与设计 本次课程设计我们小组做的是一个基于 Visual studio 2005(C#) + SQL server 2000 的 个人单词簿系统,它包括个人单词簿主界面和随机考查、编辑界面。基本可以实现单词的录 入、测试、导出功能。并且可以自己管理词库,具有对词库表中词汇做出适当的添加、删除 和修改的功能。 2.1 需求分析 当今时代是信息化时代,而信息的数字化也越来越被人们所重视,所以,数字化技术的重要 性也逐渐体现了出来, 词典作为一种为大众服务的工具书,已经渐渐退居二线了,进而出 现了另一种查找方式更加简便,更加精确,词汇量更加丰富而且随身携带更加方便的工具, 那就是电子词典,应该说这是一个新旧交替的过程,电子词典取代传统词典只是时间的问题。 所以说电子词典的发展前景是明朗的, 所以我们小组决定做一个符合用户需求的小型个人 电子词典系统。 2.1.1 课设任务 1、根据技术要求和现有开发环境,分析课设题目; 2、设计软件方案。包括:软件功能结构、各功能模块的详细描述、关键程序流程图、数据 库中表的结构设计等; 3、画出系统总体结构图、关键程序流程图; 4、设计系统界面,编制代码,实现软件的基本功能; 5、调试、修改并完善程序; 6、生成安装程序,编写软件使用说明书(图文结合进行描述); 2.1.2 课设要求 1、生词录入、查询功能; 2、随机考查用户是否掌握了生词,并根据掌握程度来计算是否以后还需继续考查; 3、导出词汇功能。
-6-
} } else {
MessageBox.Show("单词不能为空!"); } } (3)编辑与导出窗体:在编辑窗体中用户可以对单词簿进行删除、修改和导出的操作,其 界面如图 2-7、图 2-8、图 2-9、图 2-10 所示:
图 2-7 编辑主界面
图 2-8 修改成功界面
图 2-9 删除界面
和导出等基本业务。
个人单词簿系统基本结构框图如图 2-1 所示:
启动
系统主页
查询
录入
编辑与考查
说明
修改
删除
导出
考查
图 2-1 个人单词簿系统的基本框图
2.2.3 层序流层图的设计
-3-
程序开始 查询功能 录入单词 修改功能 删除功能 测试功能
判断正误
误
正 是否退出
是 退出
图 2-2 程序流程图
2.3 程序设计 用户进入后, 可以看到主界面,可以根据自己的需要对单词簿进行录入、修改、删除等, 还可以考查自己对单词的掌握情况以及将已掌握的单词导出到文本文档中。 2.3.1 系统实施 本系统主要通过运用 C#的 Windows 窗体的设计进行开发和实施,主要通过如下几个功能模 块来完成系统的具体的实施过程: 用户查询界面窗体:通过查询界面用户可以对单词簿进行查询操作。其界面如图 2-3 所示:
ds.Tables[0].Rows[l[k]].Delete(); k++; } SqlCommandBuilder cb = new SqlCommandBuilder(da); da.Update(ds); }
-8-
} private void Form2_Load(object sender, EventArgs e) {
2.1.1 课设任务............……................................................................. 2 2.1.2 课设要求………………………………………………………..2 2.2 系统的设计..........................................................................................3 2.2.1 数据库的分析与设计.......... ............. ....................... ...... ….. . 3 2.2.2 逻辑层次的设计……..................................... ..... ............ ..... .. 3 2.2.3 层序流层图的设计.................................................... ................4 2.3 程序设计.................................................... ..........................................4 2.3.1 系统实施............................................................. ..........................4 3、课程设计总结或结论.............................................................................13 4、参考文献.................................................................................................13 5. 教师签字及评语……..............................................................................14
-5-
2-5 录入重复界面
图 2-6 录入为空界面 其相关代码如下: private void button3_Click(object sender, EventArgs e)
{ if (textBox2.Text.Trim().Length != 0) { string sql = "insert into Table1(word,jieshi)Values('" + textBox2.Text + "','" + textBox5.Text.Trim() + "')"; try { if (OperateDB.ExecuteNonQuery(sql) == 1) { MessageBox.Show("添加成功!"); } else { MessageBox.Show("添加失败!"); } } catch { MessageBox.Show("录入失败,此单词已被录入!");
BindData(); } SqlDataAdapter da = new SqlDataAdapter(); DataSet ds = new DataSet(); /// <summary> /// 数据绑定 /// </summary> void BindData() {
string sql = "select word as 单词,jieshi as 解释 from Table1"; SqlConnection conn = new SqlConnection(OperateDB.ConnString); conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); da.SelectCommand = cmd; da.Fill(ds); Fordve.DataSource = ds.Tables[0]; conn.Close(); } SqlConnection conn = new SqlConnection(OperateDB.ConnString); Save save = new Save(); private void button1_Click_1(object sender, EventArgs e) { //radioChecked(); //Class1.CheckOut(Fordve); try {
课程设计说明书
(2015/2016 学年第一学期)
课程名称 : 软件程序设计
题 目 : 个人单词簿软件设计
专业班级 :
学生姓名 :
学 号:
指导教师 :
设计周数 :
10 周
设计成绩 :
目录
1、课程设计目的…….……........................................................................2 2、系统的分析与设计..................... ......... ........... ... .................................2 2.1 需求分析……...................................................... ...............................2
-4-
图 2-3 查询界面 相关代码如下: private void button1_Click(object sender, EventArgs e)
{ string sql = "select word as 单词,jieshi as 解 a 释 from Table1 where
word like'%" + textBox1.Text.Trim() + "%'";
int j = Fordve.SelectedRows.Count; int[] l = new int[j]; int i; for (i = 0; i < j; i++) {
l[i] = Fordve.SelectedRows[i].Index; } int k = 0; while (k < j) {
图 2-4 录入成功界面图
图 2-10 导出界面
其相关代码如下: private void button5_Click(object sender, EventArgs e)
{ Form2 frm = new Form2();
-7-
frm.Show(); } private void button1_Click(object sender, EventArgs e) {
// SqlCo百度文库nection conn = new SqlConnection(ConnString);//建立连接
-9-
conn.Open(); //异常处理 StreamWriter write = new StreamWriter(@"F:\danci.txt", false, Encoding.Default); //streamwrite 实例化 SqlCommand comm = new SqlCommand(); //command 对?象实例化 string splice;//将读出的数据进行连接 comm.Connection = conn; comm.CommandType = CommandType.Text; //comm.CommandText = "select count(DanCi) from Infodanci"; // int i = Convert.ToInt32(comm.ExecuteScalar()); comm.CommandText = "select * from Table1";//执行 Dsql 语句? if (comm.ExecuteScalar() == null) {
-2-
2.2 系统的设计
2.2.1 数据库的分析与设计
表 2-1 用户基本信息表(T_Users)
列名
数据类型
长度
允许为空
是否为主键
说明
word
nvarchar
20
否
是
单词
jieshi
nvarchar
20
是
否
解释
2.2.2 逻辑层次的设计
本次课设的个人单词簿软件系统可以使用户进行单词的录入、查询、修改、删除、随机考查
SqlCommandBuilder cb = new SqlCommandBuilder(da); da.Update(ds); MessageBox.Show("修改成功!"); } private void button2_Click(object sender, EventArgs e) { DialogResult dlResult = MessageBox.Show(this, "要删除这些信息吗? ", "请确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dlResult == DialogResult.Yes) {
-1-
1、课程设计目的 (1)初步掌握使用 C#工具设计一个具体实例的方法,包括软件的设计,调试的全过程。 (2)通过本次设计掌握使用 c#语言中窗体的建立,各个控件的使用,以及界面的设计。 (3)进一步巩固所学的 C#及数据库的相关理论知识,提高分析和解决实际问题的能力。 2、系统的分析与设计 本次课程设计我们小组做的是一个基于 Visual studio 2005(C#) + SQL server 2000 的 个人单词簿系统,它包括个人单词簿主界面和随机考查、编辑界面。基本可以实现单词的录 入、测试、导出功能。并且可以自己管理词库,具有对词库表中词汇做出适当的添加、删除 和修改的功能。 2.1 需求分析 当今时代是信息化时代,而信息的数字化也越来越被人们所重视,所以,数字化技术的重要 性也逐渐体现了出来, 词典作为一种为大众服务的工具书,已经渐渐退居二线了,进而出 现了另一种查找方式更加简便,更加精确,词汇量更加丰富而且随身携带更加方便的工具, 那就是电子词典,应该说这是一个新旧交替的过程,电子词典取代传统词典只是时间的问题。 所以说电子词典的发展前景是明朗的, 所以我们小组决定做一个符合用户需求的小型个人 电子词典系统。 2.1.1 课设任务 1、根据技术要求和现有开发环境,分析课设题目; 2、设计软件方案。包括:软件功能结构、各功能模块的详细描述、关键程序流程图、数据 库中表的结构设计等; 3、画出系统总体结构图、关键程序流程图; 4、设计系统界面,编制代码,实现软件的基本功能; 5、调试、修改并完善程序; 6、生成安装程序,编写软件使用说明书(图文结合进行描述); 2.1.2 课设要求 1、生词录入、查询功能; 2、随机考查用户是否掌握了生词,并根据掌握程度来计算是否以后还需继续考查; 3、导出词汇功能。
-6-
} } else {
MessageBox.Show("单词不能为空!"); } } (3)编辑与导出窗体:在编辑窗体中用户可以对单词簿进行删除、修改和导出的操作,其 界面如图 2-7、图 2-8、图 2-9、图 2-10 所示:
图 2-7 编辑主界面
图 2-8 修改成功界面
图 2-9 删除界面
和导出等基本业务。
个人单词簿系统基本结构框图如图 2-1 所示:
启动
系统主页
查询
录入
编辑与考查
说明
修改
删除
导出
考查
图 2-1 个人单词簿系统的基本框图
2.2.3 层序流层图的设计
-3-
程序开始 查询功能 录入单词 修改功能 删除功能 测试功能
判断正误
误
正 是否退出
是 退出
图 2-2 程序流程图
2.3 程序设计 用户进入后, 可以看到主界面,可以根据自己的需要对单词簿进行录入、修改、删除等, 还可以考查自己对单词的掌握情况以及将已掌握的单词导出到文本文档中。 2.3.1 系统实施 本系统主要通过运用 C#的 Windows 窗体的设计进行开发和实施,主要通过如下几个功能模 块来完成系统的具体的实施过程: 用户查询界面窗体:通过查询界面用户可以对单词簿进行查询操作。其界面如图 2-3 所示:
ds.Tables[0].Rows[l[k]].Delete(); k++; } SqlCommandBuilder cb = new SqlCommandBuilder(da); da.Update(ds); }
-8-
} private void Form2_Load(object sender, EventArgs e) {
2.1.1 课设任务............……................................................................. 2 2.1.2 课设要求………………………………………………………..2 2.2 系统的设计..........................................................................................3 2.2.1 数据库的分析与设计.......... ............. ....................... ...... ….. . 3 2.2.2 逻辑层次的设计……..................................... ..... ............ ..... .. 3 2.2.3 层序流层图的设计.................................................... ................4 2.3 程序设计.................................................... ..........................................4 2.3.1 系统实施............................................................. ..........................4 3、课程设计总结或结论.............................................................................13 4、参考文献.................................................................................................13 5. 教师签字及评语……..............................................................................14
-5-
2-5 录入重复界面
图 2-6 录入为空界面 其相关代码如下: private void button3_Click(object sender, EventArgs e)
{ if (textBox2.Text.Trim().Length != 0) { string sql = "insert into Table1(word,jieshi)Values('" + textBox2.Text + "','" + textBox5.Text.Trim() + "')"; try { if (OperateDB.ExecuteNonQuery(sql) == 1) { MessageBox.Show("添加成功!"); } else { MessageBox.Show("添加失败!"); } } catch { MessageBox.Show("录入失败,此单词已被录入!");
BindData(); } SqlDataAdapter da = new SqlDataAdapter(); DataSet ds = new DataSet(); /// <summary> /// 数据绑定 /// </summary> void BindData() {
string sql = "select word as 单词,jieshi as 解释 from Table1"; SqlConnection conn = new SqlConnection(OperateDB.ConnString); conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); da.SelectCommand = cmd; da.Fill(ds); Fordve.DataSource = ds.Tables[0]; conn.Close(); } SqlConnection conn = new SqlConnection(OperateDB.ConnString); Save save = new Save(); private void button1_Click_1(object sender, EventArgs e) { //radioChecked(); //Class1.CheckOut(Fordve); try {
课程设计说明书
(2015/2016 学年第一学期)
课程名称 : 软件程序设计
题 目 : 个人单词簿软件设计
专业班级 :
学生姓名 :
学 号:
指导教师 :
设计周数 :
10 周
设计成绩 :
目录
1、课程设计目的…….……........................................................................2 2、系统的分析与设计..................... ......... ........... ... .................................2 2.1 需求分析……...................................................... ...............................2
-4-
图 2-3 查询界面 相关代码如下: private void button1_Click(object sender, EventArgs e)
{ string sql = "select word as 单词,jieshi as 解 a 释 from Table1 where
word like'%" + textBox1.Text.Trim() + "%'";
int j = Fordve.SelectedRows.Count; int[] l = new int[j]; int i; for (i = 0; i < j; i++) {
l[i] = Fordve.SelectedRows[i].Index; } int k = 0; while (k < j) {