首页 > 数据库 >C# Oracle带参数执行Sql语句

C# Oracle带参数执行Sql语句

时间:2025-01-15 16:12:12浏览次数:1  
标签:C# REPORT SEND OracleParameter MSG FLAG Sql Oracle new

1、封装执行函数,入参:sql语句和参数数组

public int UpdateRecord(string sql, params OracleParameter[] parameters)
{
     int iResult = 0;
     using (var conn = new OracleConnection(TeJianConn))
     {
           conn.Open();
           OracleCommand command = conn.CreateCommand();
           command.CommandType = CommandType.Text;
           command.CommandText = sql;
           command.Parameters.AddRange(parameters);
           iResult = Convert.ToInt32(command.ExecuteNonQuery());
           conn.Close();
     }
     return iResult;
}

2、定义参数,调用方法,返回执行行数

    // 根据集成平台出参回写记录
    OracleParameter SEND_TIME = new OracleParameter(":SEND_TIME", OracleDbType.Date);
    OracleParameter SEND_FLAG = new OracleParameter(":SEND_FLAG", OracleDbType.Varchar2);
    OracleParameter SEND_MSG = new OracleParameter(":SEND_MSG", OracleDbType.Clob);
    OracleParameter RESPON_MSG = new OracleParameter(":RESPON_MSG", OracleDbType.Clob);
    OracleParameter REPORT_NO = new OracleParameter(":REPORT_NO", OracleDbType.Varchar2);
    SEND_TIME.Value = DateTime.Now;
    SEND_FLAG.Value = "2";
    SEND_MSG.Value = xmlString.ToString();
    RESPON_MSG.Value = "待调试";
    REPORT_NO.Value = dr["REPORTNO"].ToString();
    int iUpdateResult = UpdateRecord("UPDATE TEJIAN.PDFUPLOADTOESB SET SEND_TIME =:SEND_TIME,SEND_FLAG =:SEND_FLAG,SEND_MSG =:SEND_MSG,RESPON_MSG =:RESPON_MSG WHERE REPORT_NO =:REPORT_NO",
                                 SEND_TIME, SEND_FLAG, SEND_MSG, RESPON_MSG, REPORT_NO);

 

注意:这里有个坑,参数类型要和表字段类型保持一致,比如如果是Date类型,那一定也要定义成Date,并且不要在sql语句中使用TO_DATE函数,严格使用对应的类型,要不然会出现各种问题。

 

标签:C#,REPORT,SEND,OracleParameter,MSG,FLAG,Sql,Oracle,new
From: https://www.cnblogs.com/dysjwang/p/18673254

相关文章

  • flask之sqlalchemy ORM 一对多、多对多
    一、一对多关系爱好和人的关系,一个爱好可以对应多个人1、models#1导入一些模块importdatetimefromsqlalchemyimportcreate_enginefromsqlalchemy.ormimportdeclarative_base,\relationship#新的变成它,老的会有fromsqlalchemy.ext.declarativeimport......
  • 深度剖析 GROUP BY 和 HAVING 子句:优化 SQL 查询的利器
    title:深度剖析GROUPBY和HAVING子句:优化SQL查询的利器date:2025/1/14updated:2025/1/14author:cmdragonexcerpt:在数据处理和分析的过程中,需要对收集到的信息进行整理和汇总,从而为决策提供依据。在SQL语言中,GROUPBY和HAVING子句是用于分组和过滤数......
  • dbt Semantic Layer 详细教程-6 :指标(metrics)配置规范及示例
    前面几篇博文介绍了语义模型及实体、维度和度量规范及示例,一旦创建了语义模型,就该开始添加度量了。可以在与语义模型相同的YAML文件中定义度量,也可以将度量拆分为单独的YAML文件,放入任何其他子目录中(前提是这些子目录也位于相同的dbt项目repo中)。本文介绍指标配置规范,并针......
  • C#实战|人员管理系统[29]:显示要修改的人员信息
    哈喽,你好啊,我是雷工!前面已经练习了按组织查询和按编号查询的功能,这里接着练习修改人员信息的功能;首先实现打开修改界面,以下为练习笔记。01 效果演示①当查询结果为空时,点击【修改】按钮,提示:无任何要修改的人员信息!②当有查询结果,并选中某......
  • C++搜索问题
    C++中的搜索算法是指在数据结构或图中寻找某些特定元素或满足条件的路径的算法。搜索算法广泛应用于问题求解、路径规划、数据检索等领域。常见的搜索算法可以分为两大类:无权搜索算法:如深度优先搜索(DFS)、广度优先搜索(BFS)。启发式搜索算法:如A算法、双向搜索、IDA算法等。1.......
  • 2025-1-15-十大经典排序算法 C++与python
    文章目录十大经典排序算法比较排序1.冒泡排序2.选择排序3.插入排序4.希尔排序5.归并排序6.快速排序7.堆排序非比较排序8.计数排序9.桶排序10.基数排序十大经典排序算法十大经典排序算法可以分为比较排序和非比较排序:前者包括冒泡排序、选择排序、插......
  • centos 7 不用yum安装mysql80
    要在CentOS7上不使用yum安装MySQL8.0,可以使用RPM包进行安装。以下是详细的步骤:下载MySQL8.0的RPM包首先,需要下载MySQL8.0的RPM包。可以从MySQL官方网站下载,或者使用wget命令直接下载。以下是一个示例:wgethttps://dev.mysql.com/get/Downloads/MySQL-......
  • 【mysql数据库链接死锁怎么解决】
    mysql数据库链接死锁怎么解决在MySQL数据库中,死锁是指两个或多个事务相互等待对方释放资源,从而导致这些事务都无法继续执行的情况。解决MySQL中的死锁问题通常包括预防和处理两方面:预防死锁优化事务:尽量保持事务简短,减少持有锁的时间。避免长时间运行的事务。访问资源的......
  • 玄机:第二章 日志分析-apache日志分析
    简介账号密码rootapacherizhisshroot@IP1、提交当天访问次数最多的IP,即黑客IP:2、黑客使用的浏览器指纹是什么,提交指纹的md5:3、查看包含index.php页面被访问的次数,提交次数:4、查看黑客IP访问了多少次,提交次数:5、查看2023年8月03日8时这一个小时内有多少IP访问,提交次数......
  • GaussDB技术解读——GaussDB架构介绍之集群管理层(CM)关键技术方案
    GaussDBKernelV5集群管理层关键模块如下。图4集群管理层组件设计图CM组件提供了四种服务CMAgent,CMServer,OMMonitor,cm_ctl,与各类实例服务组件(CN,DN,GTM等)一起构成了整个数据库集群系统。cm_ctl通过命令行执行集群的启动、停止、状态查询、主备倒换、备机重......