如何调用存储过程

调用存储过程方法如下供参考

操作方法

  • 01

    (1)执行一个没有参数的存储过程的代码如下: sqlconnection conn=new sqlconnection(“connectionstring”); sqldataadapter da = new sqldataadapter(); da.selectcommand = new sqlcommand(); da.selectcommand.connection = conn; da.selectcommand.commandtext = "nameofprocedure"; da.selectcommand.commandtype = commandtype.storedprocedure; 然后只要选择适当的方式执行此处过程,用于不同的目的即可。

  • 02

    (2)执行一个有参数的存储过程的代码如下(我们可以将调用存储过程的函数声明为exeprocedure(string inputdate)): sqlconnection conn=new sqlconnection(“connectionstring”); sqldataadapter da = new sqldataadapter(); da.selectcommand = new sqlcommand(); da.selectcommand.connection = conn; da.selectcommand.commandtext = "nameofprocedure"; da.selectcommand.commandtype = commandtype.storedprocedure; (以上代码相同,以下为要添加的代码) param = new sqlparameter("@parametername", sqldbtype.datetime); param.direction = parameterdirection.input; param.value = convert.todatetime(inputdate); da.selectcommand.parameters.add(param);

  • 03

    这样就添加了一个输入参数。若需要添加输出参数: param = new sqlparameter("@parametername", sqldbtype.datetime); param.direction = parameterdirection.output; param.value = convert.todatetime(inputdate); da.selectcommand.parameters.add(param);

  • 04

    从上面的代码我们可以看出,当存储过程比较多或者存储过程的参数比较多时,这种方法会大大影响开发的速度;另外一方面,如果项目比较大,那么这些用于数据库逻辑的函数在以后的维护中也是一个很大的负担。那么,有没有一种改进的方法可以解决这个问题呢?想到在执行没有参数的存储过程时只需要传入一个存储过程的名字就可以调用相应的存储过程,而且在sqlserver数据库中我们可以直接在查询分析器中敲入“存储过程名(参数列表)”样的字符串就可以执行存储过程,那么,是否可以把这种思想应用到应用程序中呢? 于是在编译器中键入相应代码。这些代码是在调用不带参数的存储过程的代码的基础上改的。具体代码如下: sqlconnection conn=new sqlconnection(“connectionstring”); sqldataadapter da = new sqldataadapter(); da.selectcommand = new sqlcommand(); da.selectcommand.connection = conn; da.selectcommand.commandtext = "nameofprocedure(’para1’,’para2’,para3)"; da.selectcommand.commandtype = commandtype.storedprocedure;

  • 05

    为了使代码更具有代表性,要调用的存储过程的第一个和第二个参数都为字符串类型,第三个参数为整型。执行以后发现,完全可以达到预期的效果!

(0)

相关推荐

  • Spring Data JPA调用存储过程实例代码实例

    JPA连接到数据库,调用存储过程,这样的需求很常见.本文就针对这一点,讲述如何使用spring Data JPA调用存储过程的方法. 1.存储过程 假设存储过程如下: CREATE OR REPLAC ...

  • sql调用存储过程

    简单sql语句 操作方法 01 建立表A create table A ( ID int identity(1,1) primary key, Name varchar(60), Age varcha ...

  • 怎么调用SQL存储过程

    建立好SQL存储过程,在很多的时候就会调用这些存储过程.使用到存储过程中的结果集.但若直接使用SQL存储过程结果集与其他表进行连接,却比较麻烦,如使用openrowset来进行调用存储过程却是不安全的 ...

  • 存储过程基本语法及实例

    存储过程如同一门程序设计语言,同样包含了数据类型.流程控制.输入和输出和它自己的函数库. --------------------基本语法-------------------- 一.创建存储过程cr ...

  • 写一个简单的存储过程

    现在很多公司因为数据量大,基本面试都要求会sql编程,当然不止是增删查改,还要包括存储,触发器,如果对于一直只会增删查改的新手的话,写储存还是有点难度的,下面就演示写一个存储 操作方法 01 首先打开 ...

  • 图解MySQL数据库的存储过程及存储引擎

    我们经常会对数据表进行插入.删除.更新及查找的工作,即我们常说的CURD.其实,当我们输入命令时,MySQL引擎会按照下图进行操作.如果我们省略了分析和编译的环节,那么执行效率将大大提高. 本篇将会和 ...

  • mysql存储过程详解

    mysql存储过程详解 操作方法 01 通过Mysql存储过程我们可以做很多事情 1.使用了存过程,很多相似性的删除,更新,新增等操作就变得轻松了,并且以后也便于管理! 2.存储过程因为SQL语句已经 ...

  • oracle触发器使用总结

    触发器 是特定事件出现的时候,自动执行的代码块。类似于存储过程,但是用户不能直接调用他们。触发器是许多关系数据库系统都提供的一项技术。在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处 ...

  • SQL数据库中的主键与外键介绍

    一.什么是主键.外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如 : 学生表(学号,姓名,性别,班级) 其中每个学生的学 ...