《数据库与信息系统》系统开发使用技术_1.pptxVIP

  • 3
  • 0
  • 约9.85千字
  • 约 24页
  • 2021-11-20 发布于上海
  • 举报

《数据库与信息系统》系统开发使用技术_1.pptx

系统使用开发技术7目 录7.1视图、存储过程及事务应用7.2多页面应用程序的实现7.3非关系型数据库应用目 录7.1视图、存储过程及事务应用7.2多页面应用程序的实现7.3非关系型数据库应用视图与存储过程的应用视图和存储过程视图和存储过程是建立在数据库中的可编程对象,是已经编译好的、可直接执行的SQL语句段。简化应用程序开发执行效率高于客户端发出的SQL命令避免在页面文件中暴露SQL代码,增强安全性提示:视图的使用方法与基本表完全相同,只是不能对多源视图进行更新操作。使用存储过程时只需要说明MySqlCommand对象的CommandType属性为StoredProcedure【例7.1】存储过程和视图的使用编程实现成绩录入功能。在下拉列表中选择课程号,将显示学习该课程的所有学生信息;选择某个学生,则在下部表格中显示该学生的主要信息;输入成绩后单击“确定”按钮,可修改成绩,单击“取消”按钮,将清空成绩。 (1)设计页面上部为下拉列表框中间是GridView1下部是一个Panel控件,拖放到合适大小标签Label1显示“输入成绩”表格布局,5行2列的表格左列:输入对应文本右列:3个标签(Label2、Label3、Label4)和1个文本框底部2个按钮:“确定”、“取消”(2)在e_learning数据库中建立存储过程和视图 存储过程proc_coursename():从Course表查询所有课程号,用来填充下拉列表框。 CREATE PROCEDURE proc_coursecode()SELECT CourseCode FROM Course;视图view_studentcourse:查询已选课程,信息来自三个表:Student、CourseEnroll、Course。 CREATE VIEW view_studentcourse AS SELECT student.StudentCode AS 学号, StudentName AS 姓名, course.CourseCode As 课程号, CourseName AS 课程名, Score AS 成绩FROM student JOIN courseenroll ON student.StudentCode = courseenroll.StudentCodeJOIN course ON course.CourseCode = courseenroll.CourseCode;存储过程proc_updatescore:根据学号和课程号修改学生成绩,带三个参数 CREATE PROCEDURE proc_updatescore(stcode int, cscode char(4), sc float)UPDATE courseenroll -- 以sc值修改成绩SET Score=sc WHERE StudentCode=stcode AND CourseCode=cscode;(3)程序的主要代码//公共变量数据库连接cn MySqlConnection cn = new MySqlConnection(server=localhost; database=e_learning; user id=root; password=1234);//页面加载时,执行存储过程proc_coursecode为下拉列表框添加课程号protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) //若是页面首次加载执行下面代码,如因回传消息加载则不执行 { //创建MySqlCommand对象cmd并说明命令来自存储过程proc_coursecode MySqlCommand cmd = new MySqlCommand(); cmd.Connection = cn; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = proc_coursecode; //打开数据库连接,执行存储过程获得课程号 cn.Open(); MySqlDataReader rd= cmd.ExecuteReader(); //返回学号字段值 //将rd中课程号数据绑定到DropDownList1 DropDownList1.DataSource = rd; //指定数据源rd DropDownList1.DataTextField = rd.GetName(0); //获取rd第1字段名为下拉列表框提供值 DropDownList1.DataBind(); //与rd绑定 cn.Close(); //关闭数据库连接 Panel1.Visib

文档评论(0)

1亿VIP精品文档

相关文档