在“给Student的表添加信息”的界面上点击确定按钮响应如下函数:
private void btnSure_Click(object sender, EventArgs e)
{
if (textBox1.Text.Trim() == \ || textBox2.Text.Trim() == \ || textBox3.Text.Trim() == \ || textBox4.Text.Trim() == \ || textBox5.Text.Trim() == \) {
MessageBox.Show(\不能为空\, \信息提示\); } else {
Form1.ldb.pconnection.Open();
Form1.ldb.pcmd.CommandText = \; Form1.ldb.pcmd.CommandType = CommandType.StoredProcedure; Form1.ldb.pcmd.Parameters.Clear();
Form1.ldb.pcmd.Parameters.Add(\, SqlDbType.VarChar, 12).Value =
textBox1.Text.Trim();
Form1.ldb.pcmd.Parameters.Add(\,SqlDbType.VarChar,10).Value=
textBox2.Text.Trim();
Form1.ldb.pcmd.Parameters.Add(\,SqlDbType.VarChar,4).Value=
textBox3.Text.Trim();
Form1.ldb.pcmd.Parameters.Add(\, SqlDbType.Int, 100).Value =
textBox4.Text.Trim();
Form1.ldb.pcmd.Parameters.Add(\,SqlDbType.VarChar,16).Value=
textBox5.Text.Trim();
Form1.ldb.pcmd.ExecuteNonQuery(); MessageBox.Show(\插入成功\); Form1.ldb.pconnection.Close(); } }
在“显示所有学生的选课情况”的界面上点击显示按钮响应如下函数:
private void btnShow_Click(object sender, EventArgs e) {
Form1.ldb.pconnection.Open();
Form1.ldb.pcmd.CommandText = \;
Form1.ldb.pcmd.CommandType = CommandType.StoredProcedure; Form1.ldb.Show(dataGridView1); Form1.ldb.pconnection.Close(); }
在“查找刘波的信息”的界面上点击显示刘波的信息按钮响应如下函数:
private void btnShowliugang_Click(object sender, EventArgs e) {
Form1.ldb.pconnection.Open();
Form1.ldb.pcmd.CommandText = \; Form1.ldb.pcmd.CommandType = CommandType.StoredProcedure; Form1.ldb.Show(dataGridView2); Form1.ldb.pconnection.Close(); }
在“查找姓李的并且为男生学生信息”的界面上点击确定按钮响应如下函数:
private void btn_Click(object sender, EventArgs e) {
if (textBox6.Text.Trim() == \) {
MessageBox.Show(\不能为空\, \信息提示\); return; }
Form1.ldb.pconnection.Open();
Form1.ldb.pcmd.CommandText = \;
Form1.ldb.pcmd.CommandType = CommandType.StoredProcedure; Form1.ldb.pcmd.Parameters.Clear();
Form1.ldb.pcmd.Parameters.Add(\,SqlDbType.VarChar,2).Value=textBox6.Text.Trim(); Form1.ldb.Show(dataGridView3); Form1.ldb.pconnection.Close(); ; }
在“平均成绩大于某个值的学生信息”的界面上点击确定按钮响应如下函数:
private void button1_Click(object sender, EventArgs e)
{
if (textBox7.Text.Trim() == \) {
MessageBox.Show(\不能为空\,\信息提示\); return; }
Form1.ldb.pconnection.Open();
Form1.ldb.pcmd.CommandText = \;
Form1.ldb.pcmd.CommandType=CommandType.StoredProcedure; Form1.ldb.pcmd.Parameters.Clear();
Form1.ldb.pcmd.Parameters.Add(\, SqlDbType.Int, 100).Value = textBox7.Text.Trim(); Form1.ldb.Show(dataGridView4); Form1.ldb.pconnection.Close(); }
第五步:测试:
测试的结果如下所示:
六、心得体会
通过这次的数据库实验,我懂得了如何建立存储过程,以及存储过程对于数据库编程的优越性,从中体会到了好的编程基础对于编程的重要性。从某种程度上说,数据库中存储过程是对数据库中应用SQL语句的一种优化。了解到的存储过程的优点有:
1、由于存储过程不像解释执行的SQL语句那样在提出操作请求时才进行语法分析和优化工作,因此运行效率高,它提供了在服务器端快速执行SQL语句的有效途径。
2、存储过程降低了客户机和服务器之间的通信质量。客户机上的应用程序只要通过网络向服务器发出存储过程的名字和参数,就可以让RDBMS执行许多条的SQL语句,并执行数据处理。只有最终处理结果才返回客户端。
3、方便实施企业规则。可以把企业规则的运算程序写成存储过程放入数据库服务器中,由RDBMS管理,既有利于集中控制,又能够方便地进行维护。当用户规则发生变化时只要修改存储过程,无须修改其他应用程序。