2024年3月21日发(作者:)
C#综合实验报告
班级:0882052班
学号:14号
姓名:郭斌
指导老师:方芳
南昌航空大学科技学院
一、实验目的
1. 通过完成简单用户需求分析以及数据库的SQL操作具体实现等全过程,把前面的各个
实验更好地综合起来。
2. 进一步理解和掌握教材中的相关内容。
3. 掌握分析和设计一个大型数据库系统的基本思路与方法。
二、 实验要求
1.独立完成该系统的数据库设计。
2.实现数据库的设计,并在Access上调试通过。
3.写出查询、更新SQL语句和执行结果。
4.在前台实现对后台数据库的添加、删除、查询和修改操作。
三、 实验内容
综合前面各章内容设计并调试一学生成绩管理系统,C#作为前台开发工具,Access完成
后台数据库的管理。创建学生成绩管理系统所需的表,实现对学生成绩、课程、学生基本信
息进行录入、修改、删除、查询的功能;其中查询应完成模糊查询和精确查询。
具体如下:
主函数程序:
static class Program
{
///
/// 应用程序的主入口点。
///
[STAThread]
static void Main()
{
VisualStyles();
patibleTextRenderingDefault(false);
(new Form4());
}
1 数据库三张表
2 登录界面与代码
代码:
private void button1_Click(object sender, EventArgs e)
{
try
{
if ( == "")
{
("请输入帐号", "信息提示",
);
}
else if ( == "")
{
("请输入密码","信息提示
",);
}
else if ( == "088205214" &&
== "088205214")
{
Form5 main = new Form5();
();
();
}
else
{
("用户名或者密码错误
", "信息提示", );
}
}
catch (Exception ex)
{
(ng());
}
}
private void Form4_Load(object sender, EventArgs e)
{
rdChar = '*';
}
private void button2_Click(object sender, EventArgs e)
{
();
}
3 进入系统界面与其代码
代码:
private void button1_Click(object sender, EventArgs e)
{
Form1 main = new Form1();
();
();
}
private void button2_Click(object sender, EventArgs e)
{
Form2 main = new Form2();
();
();
}
private void button3_Click(object sender,
{
Form3 main = new Form3();
();
();
}
private void button4_Click(object sender,
{
Form4 main = new Form4();
();
();
}
EventArgs e)
EventArgs e)
}
4 学生系统的操作与代码
1)模糊查找和精确查找
代码:
private void button1_Click(object sender, EventArgs e)
{
string mystr, mysql;
OleDbConnection myconn = new OleDbConnection();
OleDbCommand mycmd = new OleDbCommand();
mystr = "Provider = .4.0;" + "Data
Source = G:数据库";
tionString = mystr;
if (d)
{
();
mysql = "SELECT * FROM Students WHERE StudentNo
LIKE '21%' ";
dText = mysql;
tion = myconn;
("@no", r,
10).Value = + '%';
OleDbDataReader myreader = eReader();
("学号t 姓名t性别t
生日t 籍贯t 地址");
("-------------------------------------------
---------------------------------");
while (())
(("{0}t{1}t{2}t{3}t{4}t{5}",
myreader[0].ToString(),
myreader[2].ToString(),
myreader[1].ToString(),
myreader[3].ToString(),
myreader[4].ToString(), myreader[5].ToString()));
();
();
}
else if (d)
{
();
mysql = "SELECT * FROM Students WHERE
StudentNo=@no ";
dText = mysql;
tion = myconn;
("@no", r,
10).Value = ;
OleDbDataReader myreader = eReader();
("学号t 姓名t性别t
生日t 籍贯t 地址");
("-------------------------------------------
---------------------------------");
while (())
(("{0}t{1}t{2}t{3}t{4}t{5}",
myreader[0].ToString(),
myreader[2].ToString(),
myreader[1].ToString(),
myreader[3].ToString(),
myreader[4].ToString(), myreader[5].ToString()));
();
();
}
else ("你没有选择查找方式", "信息提
示", );
}
2)修改
代码:
private void button3_Click(object sender, EventArgs e)
{
string mystr, mysql;
OleDbConnection myconn = new OleDbConnection();
OleDbCommand mycmd = new OleDbCommand();
mystr = "Provider = .4.0;" +
"Data Source =G:数据库";
tionString = mystr;
try
{
();
mysql = "update Students set StudentName='" +
+ " ', Sex='" + + " ' where StudentNo='"
+ + "'";
= "数据修改成功";
dText = mysql;
tion = myconn;
eNonQuery();
();
}
catch (Exception Err)
{
(e, "信息提示",
, );
();
}
}
3)添加
代码:
private void button2_Click(object sender, EventArgs e)
{
string mystr, mysql;
OleDbConnection myconn = new OleDbConnection();
OleDbCommand mycmd = new OleDbCommand();
mystr = "Provider = .4.0;" + "Data
Source =G:数据库";
tionString = mystr;
try
{
();
mysql = "INSERT INTO Students
VALUES (StudentNo,StudentName,Sex,Birthday,Native,Address)
(@Num,@Name,@Sex,@Birth,@Native,@Address) ";
("@Num", r,
50).Value = ;
("@Name", r,
50).Value = ;
("@Sex", r,
50).Value = ;
("@Birth", r,
50).Value = ;
("@Native",
r, 50).Value = ;
("@Address",
r, 50).Value = ;
= "数据添加成功";
dText = mysql;
tion = myconn;
eNonQuery();
(); //Variant
}
catch (Exception Err)
{
(e,
, );
();
}
}
4)删除
"信息提示",
代码:
private void button4_Click(object sender, EventArgs e)
{
string mystr, mysql;
OleDbConnection myconn = new OleDbConnection();
OleDbCommand mycmd = new OleDbCommand();
mystr = "Provider = .4.0;" + "Data
Source = G:数据库";
tionString = mystr;
DialogResult Re = ("删除不可复原,继
续删除?", "信息提示", ancel,
on);
if (Re == )
{
try
{
();
mysql = "DELETE FROM Students WHERE
StudentNo=@no ";
("@no",
r, 10).Value = ;
= "数据删除成功";
dText = mysql;
tion = myconn;
eNonQuery();
();
}
catch (Exception Err)
{
(e, "信息提示",
, );
();
}
}
}
5 选课表系统操作与代码
1)模糊查询和精确查询
代码:
private void button1_Click(object sender, EventArgs e)
{
string mystr, mysql;
OleDbConnection myconn = new OleDbConnection();
OleDbCommand mycmd = new OleDbCommand();
mystr = "Provider = .4.0;" + "Data
Source = G:数据库";
tionString = mystr;
if (d)
{
();
mysql = "SELECT * FROM Courses WHERE CourseNo LIKE
'21%' ";
dText = mysql;
tion = myconn;
("@no", r,
10).Value = + '%';
OleDbDataReader myreader = eReader();
("课程号t 课程名t
课程类型t 课程数t 课时t 学分");
("-------------------------------------------
---------------------------------");
while (())
(("{0}
t{1} t{2} t{3} t{4} t{5}",
myreader[0].ToString(),
myreader[2].ToString(),
myreader[1].ToString(),
myreader[3].ToString(),
myreader[4].ToString(), myreader[5].ToString()));
();
();
}
else if (d)
{
();
mysql = "SELECT * FROM Courses WHERE CourseNo=@no
";
dText = mysql;
tion = myconn;
("@no", r,
10).Value = ;
OleDbDataReader myreader = eReader();
("课程号t 课程名t
课程类型t 课程数t 课时t 学分");
("-------------------------------------------
---------------------------------");
while (())
(("{0}
t{1} t{2} t{3} t{4} t{5}",
myreader[0].ToString(),
myreader[2].ToString(),
myreader[1].ToString(),
myreader[3].ToString(),
myreader[4].ToString(), myreader[5].ToString()));
();
();
}
else ("你没有选择查找方式", "信息提示
", );
}
2)修改
代码:
private void button2_Click(object sender, EventArgs e)
{
string mystr, mysql;
OleDbConnection myconn = new OleDbConnection();
OleDbCommand mycmd = new OleDbCommand();
mystr = "Provider = .4.0;" + "Data
Source =G:数据库";
tionString = mystr;
try
{
();
mysql = "update Courses set CourseHours='" +
+ " ',Credit='" + + " ' where
CourseNo='" + + "'";
= "数据修改成功";
dText = mysql;
tion = myconn;
eNonQuery();
();
}
catch (Exception Err)
{
(e,
, );
();
}
}
3)添加
"信息提示",
代码:
private void button3_Click(object sender, EventArgs e)
{
string mystr, mysql;
OleDbConnection myconn = new OleDbConnection();
OleDbCommand mycmd = new OleDbCommand();
mystr = "Provider = .4.0;" + "Data
Source =G:数据库";
tionString = mystr;
try
{
();
mysql = "INSERT INTO Courses
(CourseNo,CourseName,CourseType,OpenTerm,CourseHours,Credit)
VALUES (@No,@Name,@Type,@Term,@Hours,@Credit) ";
("@No", t,
4).Value = 32();
("@Name", r,
50).Value = ;
("@Type", r,
50).Value = ;
("@Term", r,
50).Value = ;
("@Hours", r,
50).Value = ;
("@Credit",
r, 50).Value = ;
= "数据添加成功";
dText = mysql;
tion = myconn;
eNonQuery();
(); //Variant
}
catch (Exception Err)
{
(e, "信息提示",
, );
();
}
}
4)删除
代码:
private void button4_Click(object sender, EventArgs e)
{
string mystr, mysql;
OleDbConnection myconn = new OleDbConnection();
OleDbCommand mycmd = new OleDbCommand();
mystr = "Provider = .4.0;" + "Data
Source = G:数据库";
tionString = mystr;
DialogResult Re = ("删除不可复原,继
续删除?", "信息提示", ancel,
on);
if (Re == )
{
try
{
();
mysql = "DELETE FROM Courses WHERE
CourseNo=@no ";
("@no",
r, 10).Value = ;
= "数据删除成功";
dText = mysql;
tion = myconn;
eNonQuery();
();
}
catch (Exception Err)
{
(e,
, );
();
}
}
}
6 成绩表系统操作与代码
1)模糊查询和精确查询
"信息提示",
代码:
private void button1_Click(object sender, EventArgs e)
{
string mystr, mysql;
OleDbConnection myconn = new OleDbConnection();
OleDbCommand mycmd = new OleDbCommand();
mystr = "Provider = .4.0;" + "Data
Source = G:数据库";
tionString = mystr;
if (d)
{ ();
mysql = "SELECT * FROM Score WHERE StudentNo LIKE
'21%' ";
dText = mysql;
tion = myconn;
("@no", r,
10).Value = + '%';
OleDbDataReader myreader = eReader();
("学号t 课程代号
t 学分t ");
("-------------------------------------------
---------------------------------");
while (())
(("{0}t{1}
t{2}", myreader[0].ToString(), myreader[1].ToString(),
myreader[2].ToString()));
();
();
}
else if (d)
{
();
mysql = "SELECT * FROM Score WHERE StudentNo=@no
";
dText = mysql;
tion = myconn;
("@no", r,
10).Value = ;
OleDbDataReader myreader = eReader();
("学号t 课程代号 t
学分t");
("-------------------------------------------
---------------------------------");
while (())
(("{0}t{1}
t{2}", myreader[0].ToString(), myreader[1].ToString(),
myreader[2].ToString()));
();
();
}
else ("你没有选择查找方式", "信息提示
", );
}
2)修改
代码:
private void button2_Click(object sender, EventArgs e)
{
string mystr, mysql;
OleDbConnection myconn = new OleDbConnection();
OleDbCommand mycmd = new OleDbCommand();
mystr = "Provider = .4.0;" + "Data
Source =G:数据库";
tionString = mystr;
try
{
();
mysql = "update Score set CourseNo='" +
+ " ', Score='" + + " ' where
StudentNo='" + + "'";
= "数据修改成功";
dText = mysql;
tion = myconn;
eNonQuery();
();
}
catch (Exception Err)
{
(e,
, );
();
}
}
3)添加
"信息提示",
代码:
private void button4_Click(object sender, EventArgs e)
{
string mystr, mysql;
OleDbConnection myconn = new OleDbConnection();
OleDbCommand mycmd = new OleDbCommand();
mystr = "Provider = .4.0;" + "Data
Source =G:数据库";
tionString = mystr;
try
{
();
mysql = "INSERT INTO Score
(StudentNo,CourseNo,Score) VALUES (@Num,@No,@Score) ";
("@Num", r,
50).Value = ;
("@No", r,
50).Value = ;
("@Score", r,
50).Value = ;
= "数据添加成功";
dText = mysql;
tion = myconn;
eNonQuery();
();
}
catch (Exception Err)
{
(e, "信息提示",
, );
();
}
}
4)删除
代码:
private void button5_Click(object sender, EventArgs e)
{
string mystr, mysql;
OleDbConnection myconn = new OleDbConnection();
OleDbCommand mycmd = new OleDbCommand();
mystr = "Provider = .4.0;" + "Data
Source = G:数据库";
tionString = mystr;
DialogResult Re = ("删除不可复原,继
续删除?", "信息提示", ancel,
on);
if (Re == )
{
try
{
();
mysql = "DELETE FROM
StudentNo=@no ";
("@no",
r, 10).Value = ;
= "数据删除成功";
dText = mysql;
tion = myconn;
eNonQuery();
();
}
catch (Exception Err)
Score WHERE
{
(e, "信息提示",
, );
();
}
}
}
四、详细设计
按照模块来写。需有流程图、界面、核心代码(界面和核心代码如上所述)
1 流程图如下
五、总结


发布评论