if (sdr.Read())
{
this.textBox1.Text = Convert.ToString(sdr["年级"]);
//(以下代码类似)//
}
}
else
{
MessageBox.Show("没有记录");
}
sdr.Close();
conn.Close();
}
}
当选择查询学生信息时,其界面设计思路与上面查询班级信息的设计思路类似,是根据所要查询的学生的学号来查询学生的基本信息、课表信息、课程信息、考试信息和缴费信息,这个时候就相当于返回到了普通模式下。
(2) 修改功能的设计思路
在选择修改功能时,这时候也会有一个类似于图3.3.2的一样的选择界面,是选择修改班级信息还是选择修改学生信息。
当选择修改班级信息时,这时候选择需要修改的班级的班号(图3.3.3所示),输入班级的班号之后,班级修改界面(如图3.3.6所示)与上面的图3.3.4相类似,只是这个时候的按钮控件的信息变成了“确定”和“取消”。
图3.3.6 班级修改界面
在进行修改数据库信息的功能的时候,要在stumane数据库中新建2个存储过程:sele和update1,代码如下:
sele的存储过程:
create procedure sele
as
select * from banji
update1的存储过程:
create procedure update1
@班号 char(10),
@年级 nvarchar(5),
@专业 nvarchar(15),
@人数 int,
@辅导员 nvarchar(10),
@备注 nvarchar(100),
as
update student set年级=@年级, 专业=@专业, 人数=@人数, 辅导员=@辅导员, 备注=@备注
where班号=@班号
在这里面用到了DataSet对象。Data对象是实现离线访问技术的核心,它不依赖于数据源,而独立存在于内存中。
界面的主要代码如下:
using System.Data.SqlClient;
……………………………………………………………………………….
private void Form32_Load(object sender, EventArgs e)
{
String st = @"Data Source=(localdb)\Projects;Initial Catalog=stumane";
SqlConnection conn = new SqlConnection(st);
conn.Open();
DataSet ds = new DataSet();
SqlCommand sqlcomm = new SqlCommand("sele", conn);
sqlcomm.CommandType = CommandType.StoredProcedure;//把comm的命令类型设置为存储过程,以备调用数据库的存储过程之需
SqlDataAdapter da = new SqlDataAdapter();//从数据库中查询 C#+sqlserver学生MIS平台的设计与开发(18):http://www.751com.cn/jisuanji/lunwen_317.html