如何在c#中执行多个oracle查询

2023-12-04

我正在尝试执行多个 Oracle 选择查询,如该帖子答案中所述here但我遇到了异常,如图所示

与oracle网站上解释的方式相同here

顺便说一句,是否有办法处理从这些查询之一找不到行的情况?

string cmdstr = @"begin open :1 for 
                               SELECT a.column1,
                                      a.olumn2
                                      b.column3                                   
                          FROM table1 A,table2 B
                              WHERE A.column1=B.column1
                                AND A.column2 = NVL(:P_para, 0)
                                AND B.column3='1';
                            open :2 for select column1,
                                               column2,
                                               column3,
                         From dual; end;";

            using (OracleConnection conn = new OracleConnection(connstr))
            using (OracleCommand cmd = new OracleCommand(cmdstr, conn))
            {
                try
                {
                    cmd.Parameters.Add(new OracleParameter(":P_para", OracleDbType.Int64)).Value = Convert.ToInt64(Textbox.Text);
                    cmd.Parameters.Add("p_cr1", OracleDbType.RefCursor, DBNull.Value, ParameterDirection.Output);
                    cmd.Parameters.Add("p_cr2", OracleDbType.RefCursor, DBNull.Value, ParameterDirection.Output);
                    cmd.CommandText = cmdstr;
                    conn.Open();
                    OracleTransaction trans = conn.BeginTransaction();
                    OracleDataReader oraReder;
                    oraReder = cmd.ExecuteReader();
                    while (oraReder.Read())
                    {
                        textbox1.Text  = oraReder.GetString(0).ToString();    
                        textbox2.Text  = oraReder.GetValue(1).ToString();    
                        textbox3.Text  = oraReder.GetValue(2).ToString();   

                    }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Erorr Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

enter image description here


尽管您使用参数名称,但驱动程序会按位置对待它们。你可以看出,因为它(几乎)匹配:1与名字p_cr1- “1”不是有效名称。它不会抱怨,因为它在位置上匹配 - 但这意味着它正在尝试使用P_para for :1,并且由于该类型是错误的,这解释了您看到的错误。

很可能有一种方法可以改变驱动程序的行为,但现在您只需交换绑定它们的顺序 - 因此绑定发生的顺序(位置)与变量在查询中出现的顺序(位置)相同。所以:

cmd.Parameters.Add("p_cr1", OracleDbType.RefCursor, DBNull.Value, ParameterDirection.Output);
cmd.Parameters.Add(new OracleParameter(":P_para", OracleDbType.Int64)).Value = Convert.ToInt64(Textbox.Text);
cmd.Parameters.Add("p_cr2", OracleDbType.RefCursor, DBNull.Value, ParameterDirection.Output);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在c#中执行多个oracle查询 的相关文章

  • 使用DataContractSerializer进行序列化,但无法反序列化回来

    我有以下两个功能 public static string Serialize object obj DataContractSerializer serializer new DataContractSerializer obj GetT
  • MySQL 的 TEXT 类型的 Oracle 等效项

    Oracle 是否有与 MySQL 等效的列类型TEXT type 如果不是 那么通常如何存储较大的文本块 BLOB varchar 32767 如果重要的话 它是通过 PHP 访问 Oracle 10 历史背景是非常受欢迎的 Oracle
  • 如何在我的开发环境中从 Windows 7 x64 上的 C# 连接到 Oracle 数据库

    我在 Windows 7x64 上连接到 Oracle 数据库时遇到困难 我的环境如下 视窗 7x64 视觉工作室2012 Oracle 10g 带32位客户端 WinForms 我已将所有项目的目标 CPU 明确设为 x86 CPU 而不
  • cx_Oracle 和数据源范例

    有一个 Java 范例用于在 Java 中实现数据库访问DataSource 该对象围绕数据库连接的创建创建了一个有用的抽象 这DataSource对象保留数据库配置 但只会根据请求创建数据库连接 这允许您将所有数据库配置和初始化代码保留在
  • 如何将oracle中的number(7,2)更改为varchar?

    I m using Oracle 10g I want to append to all values in sal column To acomplish this first I m trying to change data type
  • UNION 与 WHERE 子句

    我正在做一个UNIONOracle 数据库上的两个查询 他们俩都有一个WHERE条款 如果我这样做的话 性能会有什么不同吗 WHERE after UNION与执行查询相比UNION after WHERE clause 例如 SELECT
  • 金钱计算,Java 和 Oracle/PL SQL 的使用比较

    大家可以对 Oracle PL SQL 和 Java 在处理货币计算时的优缺点进行很好的比较 如果您要开发一个需要处理大量资金计算的应用程序 您会使用这两者中的哪一个 为什么 这个问题并不是要引发oracle pl sql和java爱好者之
  • SQLPlus 中的运行循环

    我制作了一个 bash 脚本 它通过 SQLPlus 连接到数据库并运行一个包含 For 循环的 SQL 脚本 如下所示 但是一旦运行它 它就会卡在循环的 BEGIN 中 如下所示 我尝试直接通过SQLPlus运行 结果是一样的 那么任何人
  • SQL查询获取列的精度值

    我需要一个 SQL 查询来获取某些列的精度值 我主要关心十进制类型列 并且我需要相同的精度值 我意识到在某些版本和数据库服务器供应商中可以这样做 如果您能列出其中的一些 那就太好了 对于 SQL 服务器 select precision f
  • java为oracle VARCHAR2返回空字符串值

    我有以下代码 它似乎工作正常 但它不显示 personCode 字符串的任何值 PERSON CODE 是 Oracle 9i 数据库中的 VARCHAR2 我在我的项目中使用 Java SE 1 7 和 ojdbc7 jar 我是 Jav
  • 执行计划中是否考虑了功能?

    当查询在 SELECT 或 WHERE 子句中包含 PL SQL 函数 用户定义函数 时 如何生成执行计划 它是否也计算这些函数的成本并将其显示在执行计划中 或者这些函数只是被忽略 在此先感谢您的帮助 用户生成的函数在 SELECT 或 W
  • Oracle 函数编译成功,但在执行 PLS-00221 时抛出错误:不是过程或未定义

    我有简单的oracle功能 create or replace function abs test func test in in number return number is test out number BEGIN test out
  • 在 MVC3 中创建下拉列表

    我正在尝试创建一个下拉列表来显示自定义集合类中的所有值 例如 public class MyCustomClassCollection public List
  • 通用 Oracle 数据收集存储

    我正在设计一个新的实验室数据库 我想将所有测试的原始结果存储在一起 在某些情况下 结果是单个值 然而 结果有时是原始波形或信号 下面哪种情况是理想的 以及为什么 或提供您自己的理想选择 选项 1 将每个单独的数据点存储为单独的结果行 距 t
  • 有没有办法创建支持接口的 DynamicObject?

    我是否可以定义一个派生自 DynamicObject 并支持接口 ICanDoManyThings 的类 而不必实现接口中的每个方法 我正在尝试创建一个动态代理对象 并希望此类上的方法调用由 MyProxyClass TryInvokeMe
  • 案例与解码

    参考之前的一篇question https stackoverflow com questions 3193384 display sql custom text from table column result 我想知道是否总是可以更换D
  • 以编程方式设置 v$session 程序属性

    我找到了一些关于这个问题的答案 但没有一个可以在我的案例中发挥作用 我的问题是我使用 spring 从 JBoss 配置加载数据源
  • 如何加载大量字符串与oracle数据库匹配?

    我目前正在学习 PL SQL 所以我还是一个新手 假设您有一个生产数据库 并使用 Oracle SQL Developer 连接到该数据库 您对该数据库仅有读取权限 因此您无法创建或编辑任何表 我的问题是 如果我有一个很大的 ID 列表 我
  • 数据流任务的 Foreach 循环容器

    我想从 Oracle DB 导入近 1200 万条记录 但由于 SSIS 内存缓冲区问题 我需要每年迭代我的数据流任务 即 2005 年到 2012 年 7 次 我如何使用 foreach 我的 oracle 查询来获取每年的数据 Quer
  • 如何在Oracle中获取每周数据

    我制作了一个矩阵报告 其中需要根据选择参数动态显示列 我有一个日期选择参数 如果我在选择参数上选择日期为 03 01 2010 2010 年 3 月 1 日 那么它应该显示为 3 月 1 日 3 月 7 日 这取决于你追求什么 如果您在接下

随机推荐

  • 使用PHP邮件发送图像标签

    我添加了以下标头信息以将 html 内容作为邮件消息发送 headers MIME 版本 1 0 r n headers 内容类型 text html 字符集 iso 8859 1 r n headers 内容类型 多部分 混合 borde
  • 检查 C++ 数组中重复项的更优雅的方法?

    我用 C 编写了这段代码 作为 uni 任务的一部分 我需要确保数组中没有重复项 Check for duplicate numbers in user inputted data int i Need to declare i here
  • CMake AMRCC + 自定义链接器

    我正在尝试使用cmake在使用编译的项目中armcc 但使用自定义专有链接器 不是armlink 我已经改变了变量toolchain cmake文件如下 unset CMAKE LINKER CACHE set CMAKE LINKER m
  • 如何使用 CSS 连接树形结构可视化中的子项

    我想创建一个用线条连接的项目和子项目的列表 到目前为止我已经做到了这一点 ul list style none ul sub menu position relative padding 0 margin left 30px margin
  • 设置 Workbook SaveAs Args (Workbook) 对象的 Text Codepage 属性

    伙计们 我正在尝试设置TextCodepage的财产WorkbookSaveAsArgs用作参数Workbook方法另存为 它用于将 xls 文件转换为 csv 文件 但是 此属性接收一个通用对象 我不知道如何正确设置它 在msdn文档中它
  • 改造动态 HTTP 方法

    我计划在我的项目中用改造来替换 Apache HTTP 客户端 我面临的问题是 retrofit 不 我找不到 支持设置 HTTP 方法来在运行时请求 在我的Web Service中我不知道要提前调用什么HTTP方法 因此注释 GET PO
  • 在WPF中创建通用DataGridTemplateColumn

    我需要创建一个共同的DataGridTemplateColumn 这样我就可以在我的应用程序中使用不同的对象和属性 这是一些示例代码 我在我的项目中使用
  • Open Type字体问题

    基本上 这是一个显示少数民族语言的问题 让我简单说一下 我一直在尝试让我的 Opentype 字体 其中有一些功能 在非 Windows 在 Windows 上 它工作正常 平台 Android iOS 等 上正常工作 我真正要处理的是一个
  • 为什么我们需要为某些类型计算的输出指定一个精炼类型(或其等效的 Aux)?

    In https jto github io articles typelevel quicksort 我们接触到一个Sum键入谁的apply看起来像这样 def apply A lt Nat B lt Nat implicit sum S
  • TMP:如何推广向量的笛卡尔积?

    有一个优秀的 C 解决方案 实际上有 2 个解决方案 递归和非递归 整数向量向量的笛卡尔积 为了说明 简单起见 让我们只关注非递归版本 我的问题是 如何使用模板来概括这段代码以获取std tuple的齐次向量如下所示 2 5 9 foo b
  • 为什么 UIAlertView 不显示?

    由于某种原因 屏幕变暗并冻结 未显示警报 有人可以帮忙吗 提前致谢 else UIAlertView alert UIAlertView alloc initWithTitle Hello message Hello delegate se
  • C# MVC2 Jqgrid - 进行服务器端分页的正确方法是什么?

    我有一个 jqgrid 其中数据库表有几千行 但 jqrid 一次只显示 15 行 它应该显示得非常快 查询 15 行并不需要很长时间 但它需要 10 20 秒 这表明它每次都检索整个表 网格定义如下 Products jqGrid url
  • 如何设置ASP.NET SessionState读写LOCK超时?

    我有一个使用 ASP NET 会话状态的 WCF Web 服务 WCF 为每个请求在会话上设置读写锁 这意味着我的 Web 服务每次只能处理每个用户一个请求 这会损害我们 AJAX 应用程序的感知性能 所以我正在尝试找到一种方法来绕过这个限
  • Flask 查询 Mongodb 速度慢

    我使用 Flaks 构建一个管理网站来监控 MongoDB 用户数据 我的查询正在运行 但速度非常慢 加载 HTML 大约需要 3 5 秒 我测试了插入查询 它的工作时间不到 0 5 秒 我不认为这是服务器问题 烧瓶代码 A 它使用pymo
  • 加载图像时 WP8 内存不足错误

    我正在开发 Windows Phone 8 应用程序 我正在研究 Coverflow 功能 我正在尝试加载 600 个项目 但它总是显示Out of Memory Error Code
  • 在存在 getter 的情况下使用 Mobx makeObservable 让 setter 成为一个动作

    在 mobx 中 如果我想使用继承 我需要使用 makeObservable 而不是 makeAutoObservable 但是使用 makeObservable 需要我命名改变状态的操作 那么如何将 setter 声明为操作 因为它与 g
  • 检测并解析 JSON 文件中的转义字符“\”?

    我的 JSON 文件数据有问题 我正在使用来自谷歌的以下链接 http www google com finance company news q AAPL output json 当我想解析数据并将其显示在屏幕上时 就会出现问题 由于某种
  • 如何在Windows中的Visual Studio Code中创建tasks.json目录?

    我正在尝试编写一个任务 使用 Visual Studio Code 任务 在tasks json 中 为 Windows 用户创建一个目录 使用mkdir命令 运行良好除非该文件夹已存在 任务 json label release crea
  • Google Drive API 调用在 Fusiontables 上插入公共共享权限会导致内部错误

    我一直在尝试使用 Google Drive API 来使 Fusiontable 公开可读 但未能使其正常工作 我能够使用 OAuth 2 0 Playground 插入其他 Google Drive 文档的公共共享权限 但对于 Fusio
  • 如何在c#中执行多个oracle查询

    我正在尝试执行多个 Oracle 选择查询 如该帖子答案中所述here但我遇到了异常 如图所示 与oracle网站上解释的方式相同here 顺便说一句 是否有办法处理从这些查询之一找不到行的情况 string cmdstr begin op