C#课程设计.docx
- 文档编号:10304607
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:22
- 大小:194.91KB
C#课程设计.docx
《C#课程设计.docx》由会员分享,可在线阅读,更多相关《C#课程设计.docx(22页珍藏版)》请在冰豆网上搜索。
C#课程设计
《C#》课程设计报告
专业计算机科学与技术
班级
(1)班
姓名马飞
学号120310107
指导老师肖文
河海大学文天学院
2014年12月
选题学生成绩管理系统
一:
需求分析
1)功能需求分析
本系统的功能需求分析如下:
学生信息管理:
用于学生信息的录入、查询,需要学生学号、姓名及班级等信息
成绩管理:
用于成绩的录入、修改,需要学生学号、班级、课程名称及成绩等信息
成绩查询:
用于成绩的查询,需要学生学号、姓名及班级等信息
删除:
用于学生信息的删除,只需学生学号信息
数据流图:
2)性能需求分析
用户(登录)界面需求:
简洁、易用
安全保密性需求:
凭借正确的用户名和密码才可以进入本系统
二:
功能结构
1)系统总的功能结构图:
2)学生信息管理模块:
3)成绩管理模块:
4)成绩查询模块:
5)删除模块:
三:
业务流程
在本学生成绩管理系统中业务的流程从整体出发的角度可以绘制如下图:
四:
数据库设计
(1)在本系统中涉及了5张表:
表1:
系统用户表
表2:
班级表
表3:
成绩表
表4:
课程表
表5:
学生表:
(2)各表之间的逻辑关系:
通过成绩表的ID值与班级表、课程表、学生表等建立关系,其中成绩表为主键,班级表、课程表、学生表为外键。
五:
关键模块源码
1.登录模块
namespaceWindowsApplication1
{
publicpartialclassForm1:
Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
SqlConnectioncon1=newSqlConnection();
con1.ConnectionString="Server=YBLX-20140212EC\\SQLEXPRESS;database=StudentCj;IntegratedSecurity=true";
stringsql="selectName,passwdfromAdminwhereName='"+textBox1.Text+"'andpasswd='"+textBox2.Text+"'";
SqlCommandcom1=newSqlCommand();
com1.CommandText=sql;
com1.Connection=con1;
con1.Open();
SqlDataReadersdr=com1.ExecuteReader();
if(sdr.Read())
{
Mainlongs=newMain();
longs.Show();
con1.Close();
this.Visible=false;
}
else
{
MessageBox.Show("请?
输º?
入¨?
正y确¨¡¤用®?
户¡ì和¨ª密¨¹码?
");
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
this.Close();
}
privatevoidForm1_Load(objectsender,EventArgse)
{
this.textBox1.Text="";
this.textBox2.Text="";
}
privatevoidForm1_KeyDown(objectsender,KeyEventArgse)
{
if(e.KeyCode==Keys.Enter)
{
button1.PerformClick();
}
if(e.KeyCode==Keys.Escape)
{
button2.PerformClick();
}
}
privatevoidtextBox1_TextChanged(objectsender,EventArgse)
{
}
}
}
2.成绩查询
namespaceWindowsApplication1
{
publicpartialclassChengJiChaXun:
Form
{
stringstrConn="Server=YBLX-20140212EC\\SQLEXPRESS;database=StudentCj;IntegratedSecurity=true;";//连¢?
接¨®数ºy据Y
publicChengJiChaXun()
{
InitializeComponent();
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
try
{
DataSetds;
stringsqla="selecta.idas学¡ì号?
b.nameas姓?
名?
a.cjas成¨¦绩¡§,c.kcmcas课?
程¨¬名?
称?
fromcjbiaoajoinstudentbona.id=b.idjoinkechengcona.kcdm=c.kcdmwherea.id='"+textBox1.Text+"'orb.name='"+textBox2.Text+"'";
SqlDataAdapteradp=newSqlDataAdapter(sqla,strConn);
ds=newDataSet();
ds.Clear();
adp.Fill(ds,"Cjbiao");
//dataGridView1.DataSource=ds.Tables[0].DefaultView;
if(ds.Tables[0].Rows.Count!
=0)//判D断?
是º?
否¤?
查¨¦询¡¥出?
{
dataGridView1.DataSource=ds.Tables[0].DefaultView;
}
else
{
MessageBox.Show("对?
不?
起e!
ê?
你?
的Ì?
成¨¦绩¡§不?
存ä?
在¨²,ê?
请?
输º?
入¨?
正y确¨¡¤的Ì?
学¡ì号?
或¨°姓?
名?
");
}
}
catch
{}
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
try
{
DataSetds2;
//stringsql2="selecta.idas学¡ì号?
b.nameas姓?
名?
a.cjas成¨¦绩¡§,c.kcmcas课?
程¨¬名?
称?
fromcjbiaoajoinstudentbona.id=b.idjoinkechengcona.kcdm=c.kcdmwherea.bjdm=(selectbjdmfrombjwherebjmc='"+comboBj.Text+"')";
stringsql2="SELECTb.IDas学¡ì号?
d.Nameas姓?
名?
a.BJMCas班㨤级?
名?
称?
c.KCMCas课?
程¨¬名?
称?
b.CJas成¨¦绩¡§FROMBJajoincjbiaobONa.BJDM=b.BJDMJOINkechengcONb.KCDM=c.KCDMJOINstudentdONb.ID=d.IDwherebjmc='"+comboBox1.Text+"'";
SqlDataAdapteradp=newSqlDataAdapter(sql2,strConn);
ds2=newDataSet();
ds2.Clear();
adp.Fill(ds2,"Cjbiao1");
//dataGridView1.DataSource=ds2.Tables[0].DefaultView;
if(ds2.Tables[0].Rows.Count!
=0) ?
?
//判D断?
是º?
否¤?
查¨¦询¡¥出?
{
dataGridView1.DataSource=ds2.Tables[0].DefaultView;
textBox2.Text="";
textBox1.Text="";
}
else
{
MessageBox.Show("对?
不?
起e!
ê?
你?
输º?
入¨?
的Ì?
班㨤级?
的Ì?
信?
息¡é不?
存ä?
在¨²,ê?
请?
输º?
入¨?
正y确¨¡¤的Ì?
班㨤级?
");
textBox1.Text="";
textBox2.Text="";
}
}
catch
{}
}
}
}
3.成绩录入
namespaceWindowsApplication1
{
publicpartialclassChengJiLuRu:
Form
{
stringstr1="Server=YBLX-20140212EC\\SQLEXPRESS;database=StudentCj;IntegratedSecurity=true;";
SqlConnectionconn2;
publicChengJiLuRu()
{
InitializeComponent();
conn2=newSqlConnection(str1);
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
try
{
//查¨¦询¡¥学¡ì号?
学¡ì号?
班㨤级?
代䨲码?
课?
程¨¬代䨲码?
stringsql1="SELECTstudent.ID,BJ.BJDM,kecheng.KCDMFROMBJCROSSJOINkechengCROSSJOINstudentwherestudent.ID='"+textBox1.Text+"'andBJ.BJMC='"+comboBox2.Text+"'andkecheng.KCMC='"+comboBox1.Text+"'";
DataSetda1=newDataSet();//把ã?
数ºy据Y放¤?
在¨²内¨²存ä?
中D
SqlDataAdapteradp1=newSqlDataAdapter(sql1,str1);//更¨¹新?
数ºy据Y库a
da1.Clear();//清?
空?
数ºy据Y
adp1.Fill(da1);
//将?
查¨¦询¡¥出?
的Ì?
学¡ì号?
班㨤级?
代䨲码?
课?
程¨¬代䨲码?
分¤?
别Àe附?
值¦Ì
stringID=da1.Tables[0].Rows[0][0].ToString();
stringBJDM=da1.Tables[0].Rows[0][1].ToString();
stringKCDM=da1.Tables[0].Rows[0][2].ToString();
//录?
入¨?
成¨¦绩¡§
stringsql="insertintocjbiao(id,kcdm,bjdm,cj)values('"+ID+"','"+KCDM+"','"+BJDM+"','"+textBox3.Text+"')";
SqlCommandcmd=newSqlCommand(sql,conn2);
conn2.Open();
cmd.ExecuteNonQuery();
conn2.Close();
MessageBox.Show("信?
息¡é添¬¨ª加¨®成¨¦功|","提¬¨¢示º?
");
textBox3.Text="";
}
catch
{
MessageBox.Show("对?
不?
起e!
ê?
没?
有®D该?
学¡ì生¦¨²的Ì?
信?
息¡é!
ê?
操¨´作Á¡Â失º¡ì败㨹!
ê?
");
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
this.Close();
}
}
}
4.成绩修改
namespaceWindowsApplication1
{
publicpartialclassChengJiXiuGai:
Form
{
stringstrCon="Server=YBLX-20140212EC\\SQLEXPRESS;database=StudentCj;IntegratedSecurity=true;";
SqlConnectionconn3;
publicChengJiXiuGai()
{
InitializeComponent();
conn3=newSqlConnection(strCon);
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
try
{
stringsql="updatecjbiaosetcj='"+textBox2.Text+"'whereid='"+textBox1.Text+"'andkcdm=(selectkcdmfromkechengwherekcmc='"+comboBox1.Text+"')";
SqlCommandcmd=newSqlCommand(sql,conn3);
conn3.Open();
intaaa=cmd.ExecuteNonQuery();
conn3.Close();
if(aaa>0)
MessageBox.Show("修T改?
成¨¦功|!
ê?
");
else
{
MessageBox.Show("修T改?
失º¡ì败㨹!
ê?
");
}
textBox1.Text="";
comboBox1.Text="";
textBox2.Text="";
}
catch
{
MessageBox.Show("对?
不?
起e!
ê?
修T改?
不?
成¨¦功|!
ê?
");
}
}
//Downloadby
privatevoidbutton2_Click(objectsender,EventArgse)
{
this.Close();
}
}
}
5.删除
namespaceWindowsApplication1
{
publicpartialclassShanChu:
Form
{
stringstrCon="Server=YBLX-20140212EC\\SQLEXPRESS;database=StudentCj;IntegratedSecurity=true;"; ?
//连¢?
接¨®数ºy据Y库a
SqlConnectioncon;
publicShanChu()
{
InitializeComponent();
con=newSqlConnection(strCon);
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringsql1="select*fromcjbiaodeletefromcjbiaowhereid='"+textBox1.Text+"'"; ?
?
//删¦?
除y学¡ì生¦¨²成¨¦绩¡§表À¨ª中D的Ì?
信?
息¡é
stringsql2="select*fromstudentdeletefromstudentwhereid='"+textBox1.Text+"'"; ?
//删¦?
除y学¡ì生¦¨²表À¨ª中D的Ì?
信?
息¡é
SqlCommandcom1=newSqlCommand(sql1,con);
SqlCommandcom2=newSqlCommand(sql2,con);
con.Open();
com1.ExecuteNonQuery(); ?
?
?
//返¤¦Ì回?
执¡ä行DSꨮQê?
Lꨬ语®?
句?
的Ì?
影®¡ã响¨¬行D数ºy
com2.ExecuteNonQuery();
con.Close();
MessageBox.Show("您¨²确¨¡¤认¨?
删¦?
除y吗e!
ê?
","消?
息¡é框¨°",MessageBoxButtons.YesNo);
textBox1.Text="";
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
this.Close();
}
}
}
6.信息录入
namespaceWindowsApplication1
{
publicpartialclassXinXiShuRu:
Form
{
stringstrcon="Server=YBLX-20140212EC\\SQLEXPRESS;database=StudentCj;IntegratedSecurity=true;";//连¢?
接¨®数ºy据Y
SqlConnectioncon;
publicXinXiShuRu()
{
InitializeComponent();
con=newSqlConnection(strcon);
}
privatevoidXinXiShuRu_Load(objectsender,EventArgse)
{
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
try
{
DataSetsd=newDataSet();
stringsqlbj="selectbjdmfrombjwherebjmc='"+comboBox1.Text+"'";
stringid="selectidfromstudengwhereid='"+textBox1+"'";
SqlDataAdaptersda=newSqlDataAdapter(id,con);
sd.Clear();
sda.Fill(sd,"id");
if(sd.Tables[0].Rows.Count!
=0)
{
MessageBox.Show("你?
输º?
入¨?
的Ì?
信?
息¡é有®D误¨®");
}
else
{
SqlDataAdaptersda1=newSqlDataAdapter(sqlbj,con);
sd.Clear();
sda1.Fill(sd,"bjmc");
stringbjcx=sd.Tables[0].Rows[0][0].ToString();
stringsql="insertintostudentvalues('"+textBox1.Text+"','"+textBox2.Text+"','"+bjcx+"')";
SqlCommandcom=newSqlCommand(sql,con);
con.Open();
com.ExecuteNonQuery();
con.Close();
MessageBox.Show("恭¡ì喜2你?
!
ê?
输º?
入¨?
成¨¦功|!
ê?
");
textBox1.Text="";
textBox2.Text="";
}
}
catch
{
}
}
}
}
六:
VS2010+SQL2008
本系统在visualstudio2010和SQLserver环境下运行。
(一)在SQLserver中的数据库:
(二)在VS2010中运行结果:
1.登录窗口截图:
2.主界面截图:
3.操作效果截图:
(其中以成绩修改为例)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 课程设计