首页
学习
活动
专区
圈层
工具
发布

ExecuteReader在执行有输出参数的存储过程时拿不到输出参数

www.cnblogs.com/dunitian/p/4523006.html 后期会在博客首发更新:http://dnt.dkill.net/Article/Detail/312 今天一同志问我这个问题,这个是过程还原...: 调用SQLHelper的时候发现输出参数没值了???...~~的确,reader没关闭,那输出参数就没值(其实也可以理解~reader说:本大王还没读取完呢,你丫急什么,给我等着) ?...不能就这样算了啊,我不能总自己写吧,sqlhelper的问题还是得解决 ? 我去,还是没有。。。。。。。这可不行,看看sqlhelper的源码怎么搞的 ? 万恶的清除啊!再试试 ?...贴一个比较弱的转换(有更好的可以贴评论中的,我就先抛个砖头) public static IEnumerable SqlDataReaderToList(SqlDataReader reader

2.1K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SQL Server中的sp_executesql系统存储过程

    stmt 中指定的每个参数都必须在 @params 中定义。如果 stmt 中的 Transact-SQL 语句或批处理不包含参数,则不需要 @params。该参数的默认值为 NULL。...[@param1 =] ‘value1’ 参数字符串中定义的第一个参数的值。该值可以是常量或变量。必须为 stmt 中包含的每个参数提供参数值。...如果 stmt 中包含的 Transact-SQL 语句或批处理没有参数,则不需要值。 n 附加参数的值的占位符。这些值只能是常量或变量,而不能是更复杂的表达式,例如函数或使用运算符生成的表达式。...返回代码值 0(成功)或 1(失败) 结果集 从生成 SQL 字符串的所有 SQL 语句返回结果集。...如果只更改了语句中的参数值,则 sp_executesql 可用来代替存储过程多次执行 Transact-SQL 语句。

    2.8K10

    Java的数据库连接编程(JDBC)技术

    ; //Query为存储过程名 cstmt.setString(1,"输入参数"); //为存储过程提供输入参数 ResultSet rs=cstmt.executeQuery(); (3)接收输出参数...某些存储过程可能会返回输出参数,这时在执行这个存储过程之前,必须使用CallableStatement的registerOutParameter方法首先登记输出参数,在registerOutParameter...方法中要给出输出参数的相应位置以及输出参数的SQL数据类型。...在执行完存储过程以后,必须使用getXXX方法来获得输出参数的值。并在getXXX方法中要指出获得哪一个输出参数(通过序号来指定)的值。...方法中指明数据库将返回的SQL数据类型,在执行完存储过程以后必须采用相应匹配的getXXX方法来获得输出参数的值。

    69510

    MySQL---数据库从入门走向大神系列(八)-在java中执行MySQL的存储过程

    http://blog.csdn.net/qq_26525215/article/details/52143733 在上面链接的博客中,写了如何用MySQL语句定义和执行存储过程 Java执行存储过程:...Java演示执行带输入参数的存储过程: 构造 call 转义序列时,请使用 ?(问号)字符来指定 IN 参数。此字符充当要传递给该存储过程的参数值的占位符。...向 setter 方法传递值时,不仅需要指定要在参数中使用的实际值,还必须指定参数在存储过程中的序数位置。例如,如果存储过程包含单个 IN 参数,则其序数值为 1。...Java演示执行带输入输出参数的存储过程: 构造 call 转义序列时,请使用 ?(问号)字符来指定 OUT 参数。 此字符充当要从该存储过程返回的参数值的占位符。...当您对于 OUT 参数向 registerOutParameter 方法传递一个值时,不仅必须指定要用于此参数的数据类型,而且必须在存储过程中指定此参数的序号位置或此参数的名称。

    2.2K20

    JDBC实现调用Oracle存储过程

    varchar2(20) 而存储过程名称括号里面的输入和输出参数是没有指定类型大小的     begin       --select * into org from XX where xxx =...when others子句用于捕获命名系统异常和命名的程序员定义异常未处理的所有其余异常。我自己的理解就是相当于java中的try{}catch(Exception e){}中的exception。...3.利用JDBC调用数据库的存储过程。 总的来说,执行任何JDBC的SQL声明,有以下几个步骤: (1)建立连接。...c.CallableStatement:(继承PreparedStatement),用于执行带有输入输出参数的存储过程。 (3)执行语句。Java API中有三种执行方法。...,我的存储过程的参数1是传入参数,2,3,4是传出参数             System.out.println(statement.getString(2) + " "+ statement.getString

    1.7K20

    走进 LINQ 的世界

    一、介绍 LINQ 查询   查询是一种从数据源检索数据的表达式。随着时间的推移,人们已经为各种数据源开发了不同的语言;例如,用于关系数据库的 SQL 和用于 XML 的 XQuery。...查询存储在查询变量中,并用查询表达式进行初始化。   之前的示例中的查询是从整数数组中返回所有的偶数。 该查询表达式包含三个子句: from、 where 和 select。...在 LINQ 中,您不必像在 SQL 中那样频繁使用 join,因为 LINQ 中的外键在对象模型中表示为包含项集合的属性。...输出可能是通过将源元素用作输入参数计算出的值的序列。...select 语句返回只捕获原始 Customer 对象的两个成员的匿名类型。   ①数据源的类型参数始终为查询中的范围变量的类型。

    6.4K30

    执行对象Statement、PreparedStatement和CallableStatement详解 JDBC简介(五)

    Statement 场景:普通的不带参的查询SQL PreparedStatement 场景:支持可变参数的SQL CallableStatement 场景:支持调用存储过程,提供了对输出和输入...以一个简单的示例简单了解一下存储过程的调用,以及存储过程中输入输出参数的处理。...上面给出了在MYSQL中,对于存储过程和函数的调用 再回过头来看CallableStatement的API解释就很容易理解了 CallableStatement是用于执行 SQL 存储过程的接口 JDBC...API 提供了一个存储过程 SQL 转义语法,该语法允许对所有 RDBMS 使用标准方式调用存储过程 此转义语法有一个包含结果参数的形式和一个不包含结果参数的形式 如果使用结果参数,则必须将其注册为...占位符是输出,所以必然有registerOutParameter 但是其他的arg1,arg2.....可能是输出,也可能是输入,比如我们上面存储过程的例子,前两个参数是输入,第三个参数是输出

    2.7K41

    B7第七章第 1 节: ADO.Net简介

    ,从0开始,获取主键列的序列号 26 long id = reader.GetInt64("id");//通过数据库中的列名字,获取主键列的序列号 27...2 第七章 第 7 节: 参数化查询2 1、参数化查询有点:安全;效率高(SQL预编译); 2、所有的sql中都可以使用参数化查询传递;表名,字段名等不能用参数化进行替换; 3、陷阱:不要用MySqlParameter...sql,params MySqlParameter[] parameters)//引用已经建立的连接,执行sql语句,返回多行多列的值到一个DataTable中 {...{+++}(string sql,params MySqlParameter[] parameters)//引用方法内自己建立的连接,执行sql语句,返回多行多列的值到一个DataTable中...第七章 第 14 节: 事务的原子性 1、using 相当于tyr......finally 2、捕获异常需要try.......catch 事务的几个关键环节: 1)要在一个连接中; 2)启动事务

    2K20
    领券