精华内容
下载资源
问答
  • 主要介绍了Sql Server 存储过程调用存储过程接收输出参数返回值,需要的朋友可以参考下
  • 主要介绍了asp.net实现调用有输出参数存储过程,结合实例形式分析了前端基于jQuery的ajax调用及后台存储过程调用的相关技巧,需要的朋友可以参考下
  • 存储过程输出参数:C#中调用输入输出参数的存储过程本文转自互联网 有关存储过程的介绍大家想必也不陌生了吧,大家可以参考《浅谈存储过程》一文。这里不做介绍。 今天要介绍的是在C#里如何调用带输入输出参数的...

                              存储过程输出参数:C#中调用输入输出参数的存储过程

    本文转自互联网

     

     

    有关存储过程的介绍大家想必也不陌生了吧,大家可以参考《浅谈存储过程》一文。这里不做介绍。

       今天要介绍的是在C#里如何调用带输入输出参数的存储过程,譬如实现简单的登陆功能、根据用户输入的用户名、用户密码及用户权限实现登陆。这里充当输入参数的有:用户名、用户密码、登陆权限。充当输出参数的就是在数据库里面根据输入参数的信息查询数据库中是否有记录,具体来说就是记录的行数。

      数据库中的存储过程构建代码:

      Code

    1use Hotel --数据库名
    2if exists(select * from sysobjects where name='proc_userinfo')--判断是否存在存储过程
    3drop proc proc_userinfo --若存在删除此存储过程
    4go
    5--创建存储过程
    6create proc proc_userinfo
    7@username varchar(50),--输入参数
    8@pwd varchar(50),--输入参数
    9@grade varchar(20),--输入参数
    10@count int output --输出参数output不能少
    11--sql语句
    12as
    13select @count=count(*) from userinfo where username=@username and pwd=@pwd and @grade=grade
    14go
    15
    16
    17执行存储过程
    18declare @n int
    19exec proc_userinfo admin,123,管理员,@n output
    20--output不能少
    21print @n
    22go


      数据访问层代码

      Code

    1//调用存储过程执行类似于
    2//select count(*) from userinfo where username=username and pwd=pwd and grade=grade
    3//接受 3个参数分别用来表示用户名、用户密码、用户权限
    4public bool GetUserinfo(string username,string pwd,string grade)
    5    {
    6      //获取连接字符串
    7      private bool connstring = ConfigurationManager.ConnectionStrings["connstring"].Tostring;
    8      int n = 0;//查询后返回的行数保存存储过程中的输出参数
    9      //创建连接对象 using代码片段好处在于离开作用域后立刻从内存中释放对象
    10      using (SqlConnection con=new SqlConnection(connstring))
    11      {
    12        con.Open();//打开数据库连接
    13        using (SqlCommand cmd=new SqlCommand("proc_userinfo",con))
    14        {
    15          //什么作用不记得了只记得调用存储过程该语句不能少
    16          cmd.CommandType = CommandType.StoredProcedure;
    17          //添加存储过程输入输出参数类型及输入参数值
    18          cmd.Parameters.Add("@username", SqlDbType.VarChar, 50).Value=username;
    19          cmd.Parameters.Add("@pwd", SqlDbType.VarChar, 50).Value=pwd;
    20          cmd.Parameters.Add("@grade", SqlDbType.VarChar, 50).Value=grade;
    21          cmd.Parameters.Add("@count", SqlDbType.Int);
    22          cmd.Parameters["@username"].DbType = DbType.String;
    23          //指定参数类型是输入参数还是输出参数
    24          cmd.Parameters["@username"].Direction = ParameterDirection.Input;
    25          cmd.Parameters["@pwd"].DbType = DbType.String;
    26          //指定参数类型是输入参数还是输出参数
    27          cmd.Parameters["@pwd"].Direction = ParameterDirection.Input;
    28          cmd.Parameters["@grade"].DbType = DbType.String;
    29          //指定参数类型是输入参数还是输出参数
    30          cmd.Parameters["@grade"].Direction = ParameterDirection.Input;
    31          cmd.Parameters["@count"].DbType = DbType.Int32;
    32          //指定参数类型是输入参数还是输出参数
    33          cmd.Parameters["@count"].Direction = ParameterDirection.Output;
    34          //执行存储过程 此处类似于查询语句
    35          cmd.ExecuteScalar();
    36          //接受执行存储过程后的返回值
    37          n = (int)cmd.Parameters["@count"].Value;
    38          //根据返回值判断数据库中是否存在对应用户名密码及用户权限的记录
    39          if (n==1)
    40          {
    41            return true;
    42          }
    43          else
    44          {
    45            return false;
    46          }
    47        }
    48      }
    49    }


       至于业务逻辑层及表示层这里就不做介绍了,想必大家都知道该如何写了.

       注:这里补充点有关清空DataGradeView中所有数据de思路方法

      Code

    1//用dataGradeView.DataSource dataGradeView的数据源创建一个DataTable 对象 需要强转成DataTable
    2
    3   DataTable dt=(DataTable )dataGradeView.DataSource; 
    4 //dataGradeView为具体的dataGradeView
    5
    6   dt.Rows.Clean(); //删除表中的行
    7
    8   dataGradeView.DataSource=dt; 
    9//再把dt绑定到dataGradeView上即可
    10

    展开全文
  • asp.net调用输出参数存储过程 供测试使用
  • 输出参数使用?替代 比如下例最后一个是输出参数,使用的客户端工具是Quest Central call SelectMsg('190474', 'abc001', '9', 0, ?)

    输出参数使用?替代

    比如下例中最后一个是输出参数,使用的客户端工具是Quest Central

    call SelectMsg('190474', 'abc001', '9', 0, ?)
    
    展开全文
  • dbutils 好像是不支持直接使用带输出参数存储过程,如果谁直接调用的好方法多多指教。   如果是没有输出参数存储过程,直接调用就行,和调用sql没什么区别。   这次主要说怎么 变个法 调用存储过程;   ...

    dbutils 执行存储过程,dbutils 执行存储过程,dbutils 执行存储过程,dbutils 执行存储过程.

     

    dbutils 好像是不支持直接使用带输出参数存储过程,如果谁有直接调用的好方法多多指教。

     

    如果是没有输出参数的存储过程,直接调用就行,和调用sql没什么区别。

     

    这次主要说怎么 变个法 调用存储过程;

     

    public Map callProcedure(String sql, String params[]) {
      Map map = new HashMap();
      CallableStatement cs = null;
      Connection conn = null;
      ResultSet rs = null;
      try {
       conn = dataSource.getConnection();
       cs = conn.prepareCall(sql);
       // 设置输入参数
       for (int i = 0; i < params.length; i++) {
        cs.setString(i + 1, params[i]);
       }
       System.out.println(params.length);
       // 设置输出参数
       cs.registerOutParameter(8, Types.INTEGER);
       cs.registerOutParameter(9, Types.INTEGER);
       cs.registerOutParameter(10, Types.INTEGER);
       cs.registerOutParameter(11, Types.INTEGER);
       cs.registerOutParameter(12, Types.INTEGER);
       cs.registerOutParameter(13, Types.INTEGER);
       rs = cs.executeQuery();
       while (rs.next()) {
        map.put("visit_bouce_count", rs.getString("visit_bouce_count"));
        map.put("page_count", rs.getString("page_count"));
        map.put("page_bounce_count", rs.getString("page_bounce_count"));
        map.put("play_bounce_count", rs.getString("play_bounce_count"));
        map.put("visit_prog_count", rs.getString("visit_prog_count"));
        map.put("visit_interval", rs.getString("visit_interval"));
       }
      } catch (SQLException e) {
       e.printStackTrace();
      } finally {
       try {
        if (rs != null) {
         rs.close();
        }
        if (cs != null) {
         cs.close();
        }
        if (conn != null) {
         conn.close();
        }
       } catch (Exception ex) {
        ex.printStackTrace();
       }
      }
      return map;
     }

     

    哈哈,用了jdbc 的方式完成。

     

    调用方法采用:

     

    callProcedure("{call pr_bouce_count(?,?,?,?,?,?,?,?,?,?,?,?,?)}", param)

    param 是一个数组里面是参数。 这样就完成了。

     

     

     

     

     

    展开全文
  • oracle 定时任务 job 调用存储过程有返回输出参数(含out参数)因前台调用一个含有OUT参数的存储过程,同时在JOB里也想调用同一个存储过程,不想将OUT参数去掉重新建一个存储过程再被JOB调用。虽然OUT参数在JOB里没有...

    oracle 定时任务 job 调用存储过程有返回输出参数(含out参数)

    因前台调用一个含有OUT参数的存储过程,同时在JOB里也想调用同一个存储过程,不想将OUT参数去掉重新建一个存储过程再被JOB调用。
    虽然OUT参数在JOB里没有任何意义,但是考虑到程序最简化,不重复建设,采用了如下方法,即在调用存储过程前先定义参数变量。以下s1,s2均为OUT参数,希望对大家有所帮助。
    begin
      sys.dbms_job.submit(job => :job1,
                          what => 'declare s1 varchar2(200); s2 varchar2(200); begin p_test.usp_test_jobincs(s1,s2); end;',
                          next_date => sysdate,
                          interval => 'sysdate+1/1440');
      commit;
    end;

    转载于:https://www.cnblogs.com/quxiaojie/p/4201248.html

    展开全文
  • 理论: 下面的CmdObj.是定义的SqlCommand对象 1、获得存储过程中return语句返回的整个存储过程函数的返回值: //获得存储过程return的值,定义一个参数,指明其作用是接受re
  • 1.一个带输出参数存储过程如下 create or replace procedure count_num(name in varchar, num out number) as begin select count(*) into num from region where region_name=name; end count_num; 调用存储...
  • Hibernate 调用存储过程 获取输出参数

    千次阅读 2014-06-19 14:34:45
    创建存储过程 create or replace package ... --------src_template_id为输入参数,target_template_id为输出参数 procedure copy_temp(src_template_id number, src_template_name out varchar2); end test_mgmt;
  • Sql Server 存储过程调用存储过程接收输出参数,返回值2017年06月02日 09:32:42阅读数:7800创建存储过程:[c-sharp] view plain copyCREATE PROCEDURE [dbo].[GetCustomers] (@rowcount INT OUTPUT) AS ...
  • 4. 输入参数和输出参数存储过程 返回值其实是一种特殊的输出参数。在大多数情况下,我们用到的是同时输入及输出参数存储过程,比如我们想取得用户信息表,某ID用户的用户名,这时候,一个输入参数----...
  • MySQL存储过程例子,包含事务,输出参数,嵌套调用,学习mysql存储过程的朋友可以参考下。
  • 主要介绍了C#获取存储过程返回值和输出参数值的方法,需要的朋友可以参考一下
  • MYSQL如何调用输出参数存储过程 转:https://blog.csdn.net/lizzyshao/article/details/83585328 不同于带入参的过程,参数不能常量输入,可以(随便)放一个用户变量@outp调用过程,执行完毕后再(就像使用...
  • Oracle集合类型输出参数的PLSQL存储过程及其Java调用.docxOracle集合类型输出参数的PLSQL存储过程及其Java调用.docx
  • ibatis会经常调用存储过程返回值的是输出参数,下面是带输出参数存储过程调用: java代码:HashMap,Object> paramMap = new HashMap,Object>(); paramMap.put("UGName", "01"); paramMap.put("UName",...
  • 存储过程有输出参数,在c#中用nhibernate调用存储过程时,   如何才能获取到一个结果集和这个输出参数呢?
  • mybatis调用存储过程 无参、带输入输出参数,输出游标类型的 存储 Mybatis接收存储过程的 out型参数
  • java调用 Connection conn = MyDataSource.getConnection(); try { CallableStatement cstmt=conn.prepareCall(sql); cstmt.setString(1, "0985023223"); cstmt.registerOutParameter(2, java.sql....
  • 今天要介绍的是在C#里如何调用带输入输出参数存储过程。譬如实现简单的登陆功能,根据用户输入的用户名、用户密码及 关于存储过程的介绍大家想必也不陌生了吧。大家可以参考《浅谈存储过程》一文,这里不做介绍...
  • ---根据编号来查询出学生的其他信息,带输入输出参数 if(exists(select * from sys.objects where name = 'proc_getStudentOtherInfoBySid')) //判断当前数据库是否存在这个存储过程  drop proc p
  • 用exec调用output输出参数存储过程,想要得到输出参数的值,必须在调用参数后面加output关键字,如: DECLARE @testvalue int EXEC sp_test 1,@testvalue output SELECT @value
  • 调用输出参数存储过程

    千次阅读 2016-12-01 14:50:37
    由于项目在单元测试阶段,而程序调用存储过程还没调通,我就自己在oracle写了一个临时的小存储代替: 没想到好不容易别别扭扭地编译过了,却不知道如何调用 我执行ALL test_proc(0,01,temp_name,msg);,报错了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 387,538
精华内容 155,015
关键字:

存储过程中有输出参数怎么调用