论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > 计算机科学与技术 >

公交车管理系统的实现与设计(论文+程序)

5.3    存储过程

在该公交车管理系统的在数据的查询、添加和删除等操作上主要采用了存储过程。存储过程是编译好了的SQL语句。它类似于函数的使用,可以直接通过参数调用存储过程,所以效率比较高。 paper51.com

1.存储过程的介绍

内容来自论文无忧网 www.paper51.com

存储过程是由一组为了完成特定功能的SQL语句集,经过编译和优化后存储在数据库服务器中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它[2]。存储过程的能力大大增强了SQL语言的功能和灵活性。 http://www.paper51.com

2.存储过程的优势

copyright paper51.com

(1)允许标准组件式编程。在存储过程被创建以后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。 http://www.paper51.com

(2)实现较快的执行速度。因为存储过程是预编译的,在首次运行前,查询优化器对其进行分析、优化,并给出了最终被存在系统中的执行计划[2]。

http://www.paper51.com

(3)减少网络流量。在调用存储过程时,网络中传送的只是该调用语句,而不是多条SQL语句,从而大大减少了网络流量。

http://www.paper51.com

(4)作为一种安全机制来充分利用。系统管理员通过对执行某一存储过程的权限进行限制,从而能够实现对相应的数据访问权限制,避免非授权用户对数据的访问,保证数据安全[2]。 copyright paper51.com

3.存储过程的代码实现 内容来自www.paper51.com

在创建存储过程时,需要确定存储过程的三个组成部分: copyright paper51.com

1.所有的输入参数以及传递给调用者的输出参数。

内容来自www.paper51.com

2.被执行的针对数据库的操作语句,包括调用其他存储过程的语句。

copyright paper51.com

3.返回给调用者的状态值,以指明调用是成功还是失败。

内容来自论文无忧网 www.paper51.com

下面给出在该系统中使用到的部分存储过程:

paper51.com

实现对满足ID号是CarLineID的汽车线路数据的删除操作。

http://www.paper51.com

createproc prc_deleteCarLine

内容来自论文无忧网 www.paper51.com

@CarLineIDint

内容来自www.paper51.com

as 内容来自www.paper51.com

deleteT_Car_Line where ID=@CarLineID http://www.paper51.com

if@@rowcount>0 paper51.com

return0 http://www.paper51.com

else

内容来自论文无忧网 www.paper51.com

return1

内容来自论文无忧网 www.paper51.com

GO 内容来自www.paper51.com

实现查询所有汽车信息的存储过程。 内容来自www.paper51.com

createproc spr_carall copyright paper51.com

as http://www.paper51.com

selectID ,CarNum as "车牌号",CarColor as "颜色",SitNum as "座位数",CarTypeas "类型",AirCondi as "是否空调车",Company as "车品牌",Remarkas "备注" from t_car

内容来自www.paper51.com

GO paper51.com

6      详细设计 http://www.paper51.com

根据已有的需求分析和总体设计,在此基础上进行系统的详细设计和实现。为此,建立了一个C#.NET项目。

paper51.com

6.1    登录模块

内容来自论文无忧网 www.paper51.com

1.用户身份验证

http://www.paper51.com

输入:用户名和密码。 内容来自www.paper51.com

处理:

内容来自www.paper51.com

(1)用户登录窗体启动。

paper51.com

(2)输入用户名和密码。

内容来自www.paper51.com

(3)检索数据库中数据,是否有相应的用户名和密码。

内容来自www.paper51.com

(4)如果用户名和密码为空,或者错误,进行提示。

paper51.com

(5)如果输入的用户名和密码正确,则允许该用户进入系统。 http://www.paper51.com

(6)进入主控制台。

内容来自论文无忧网 www.paper51.com

输出:主控制台。

paper51.com

2.用户登录模块的窗体设计

http://www.paper51.com

用户登录模块的窗体设计,如图4所示。 内容来自www.paper51.com

paper51.com

3.用户登录模块的主要代码

http://www.paper51.com

privatevoid button1_Click(object sender, System.EventArgs e)

内容来自论文无忧网 www.paper51.com

{

copyright paper51.com

       DataAccessmyAcc=new DataAccess(); http://www.paper51.com

       if(myAcc.userlogin(this.textBox1.Text.Trim(), http://www.paper51.com

                     this.textBox2.Text.Trim())==1){

paper51.com

              this.Visible=false;                        

http://www.paper51.com

Main newMain=new Main(this.textBox1.Text.Trim()); copyright paper51.com

              newMain.Show(); 内容来自www.paper51.com

       }

copyright paper51.com

       elseif(myAcc.userlogin(this.textBox1.Text.Trim(),"") == 0) 内容来自论文无忧网 www.paper51.com

              MessageBox.Show("没有该用户!"); 内容来自论文无忧网 www.paper51.com

       else 内容来自论文无忧网 www.paper51.com

       {

内容来自www.paper51.com

              MessageBox.Show("登录失败");

copyright paper51.com

       } 内容来自论文无忧网 www.paper51.com

}

paper51.com

private void button1_Click()鼠标事件用于实现在输入用户名和密码后,进入系统主控制界面的方法。DataAccess类是自定义的用于实现数据库访问的类。该方法中判断语句里调用了该类所声明的对象myAcc的方法userlogin(),该方法的具体实现代码如下所示: copyright paper51.com

publicint userlogin(string username,string userpass)

内容来自www.paper51.com

{

http://www.paper51.com

       DatabasemyDB=new Database();

内容来自论文无忧网 www.paper51.com

       SqlParameter[]para={ copyright paper51.com

       myDB.MakeInParam("@username",SqlDbType.NVarChar,50,username), 内容来自论文无忧网 www.paper51.com

       myDB.MakeInParam("@userPass",SqlDbType.NVarChar,50,userpass) 内容来自论文无忧网 www.paper51.com

        }; 内容来自论文无忧网 www.paper51.com

       returnmyDB.RunProc("spr_uerlogin",para); 内容来自论文无忧网 www.paper51.com

}

内容来自www.paper51.com

该段代码展示了上文中所提到的存储过程的具体使用。

copyright paper51.com

6.2    主操作界面模块

paper51.com

1.主控制平台的窗体设计 paper51.com

主控制平台的窗体设计,如图5所示。

copyright paper51.com

内容来自www.paper51.com

------分隔线----------------------------
联系方式