c# 調用存儲過程

1.調用返回OUT的存儲過程
a.調用OUT字符串的存儲過程;

      #region 連接數據庫/// <summary>/// 連接數據庫/// </summary>/// <param name="connStatus"></param>/// <param name="dbNode"></param>/// <returns></returns>public OracleConnection OpenConn(ref string connStatus, DBConnEntity dbNode){try{if (conn == null || conn.State == ConnectionState.Closed){//默認端口if (dbNode.Port.Length < 1){dbNode.Port = "1521";}conn = new OracleConnection();//單節點if (dbNode.IP == null || dbNode.IP2 == null){conn.ConnectionString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=" + dbNode.IP +")(PORT=" + dbNode.Port + "))(CONNECT_DATA=(SERVICE_NAME=" + dbNode.DbSid + ")));" +"Persist Security Info=True;User ID=" + dbNode.DbUser + ";Password=" + dbNode.DbPassW + ";";}else{//集群方式string connStr = "Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =" + dbNode.IP + ")(PORT = " + dbNode.Port + "))(ADDRESS = (PROTOCOL = TCP)(HOST =" + dbNode.IP2 + ")(PORT = " + dbNode.Port + "))(LOAD_BALANCE = yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME =" + dbNode.DbSid + ")(FAILOVER_MODE=(TYPE = session)(METHOD = basic)(RETRIES = 180)(DELAY = 5) ) ));" +"Persist Security Info=True;User ID=" + dbNode.DbUser + ";Password=" + dbNode.DbPassW + ";";conn.ConnectionString = connStr;}conn.Open();connStatus = "success";}else{connStatus = "success";}}catch (Exception ex){connStatus = ex.Message;conn = null;}return conn;}
//執行存儲過程public string execCancelJCErpProcedure(string targetId, DBConnEntity dbNode, ref string strNGPASS){string returnMsg = "";try{conn = OpenConn(ref strNGPASS, dbNode);if (strNGPASS == "success"){using (conn){using (OracleCommand cmd =new OracleCommand("存儲過程名稱", conn)){cmd.CommandType = CommandType.StoredProcedure;OracleParameter locatorId =new OracleParameter("locatorId", OracleDbType.Varchar2);locatorId.Direction = ParameterDirection.Input;locatorId.Value = targetId;cmd.Parameters.Add(locatorId);OracleParameter vs_msg =new OracleParameter("resultOut", OracleDbType.Varchar2, 4000);//返回字符串時,需要設置字符串大小vs_msg.Direction = ParameterDirection.Output;cmd.Parameters.Add(vs_msg);cmd.ExecuteNonQuery();returnMsg = vs_msg.Value.ToString();                           }}}//連接數據庫異常else{strNGPASS = "NG";returnMsg = strNGPASS; //連接數據庫異常描述}}catch (Exception ex){strNGPASS = "NG";returnMsg = ex.Message;}return returnMsg;}

b.調用OUT 數值的存儲過程;

 public int execZLProcedure(string proceName, DBConnEntity dbNode,string model_name, ref string strNGPASS){int batch_Id = 0;try{conn = OpenConn(ref strNGPASS, dbNode);//連接數據庫;if (strNGPASS == "success"){using (conn){using (OracleCommand cmd = new OracleCommand(proceName, conn))  //proceName存儲過程名稱{cmd.CommandType = CommandType.StoredProcedure;OracleParameter modelName = new OracleParameter("modelName", OracleDbType.Varchar2);modelName.Direction = ParameterDirection.Input;modelName.Value = model_name;cmd.Parameters.Add(modelName);OracleParameter batchId = new OracleParameter("batchId", OracleDbType.Int64);//batchId.Direction = ParameterDirection.Output;cmd.Parameters.Add(batchId);cmd.ExecuteNonQuery();batch_Id = int.Parse(batchId.Value.ToString());strNGPASS = "OK";}}}else    //連接數據庫異常{strNGPASS = "NG";}}catch (Exception ex){strNGPASS = "NG";}return batch_Id;}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/711748.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/711748.shtml
英文地址,請注明出處:http://en.pswp.cn/news/711748.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android WebView訪問網頁+自動播放視頻+自動全屏+切換橫屏

一、引言 近期&#xff0c;我發現電視家、火星直播等在線看電視直播的軟件都已倒閉&#xff0c;而我奶奶也再無法通過這些平臺看電視了。她已六十多歲&#xff0c;快七十歲啦。這些平臺的倒下對我來說其實沒有多大的影響&#xff0c;但是對于文化不多的她而言&#xff0c;生活中…

Linux下的時間同步,以及ntp時間服務器配置流程

Linux下的時間同步&#xff0c;以及ntp時間服務器配置流程 概論常見時間操作命令Linux下的系統時間配置Linux硬件的時間的設置系統時間和硬件時間的同步NTP服務器時間的同步NTP服務的安裝NTP的時間同步定時任務里的時間同步配置文件同步時間 概論 但在Linux下&#xff0c;系統…

SpringBoot中間件簡介

Spring Boot是一個Java框架&#xff0c;它提供了一系列中間件來簡化應用程序的開發和集成。以下是一些常見的Spring Boot中間件&#xff1a; Web中間件&#xff1a; Servlet容器&#xff08;內嵌Tomcat、Jetty或Undertow&#xff09; Spring MVC&#xff08;用于構建Web應用程…

HBuilderX創建uniapp項目使用 tailwindcss

文章目錄 一、創建package.json文件二、打開終端 yarn / npm 安裝依賴三、創建 vue.config.js文件四、創建postcss.config.js文件五、創建tailwind.config.js文件六、App.vue文件的style中引入tailwindcss 一、創建package.json文件 {"devDependencies": {"aut…

藍橋杯算法 一.

分析&#xff1a; 本題記錄&#xff1a;m個數&#xff0c;異或運算和為0&#xff0c;則相加為偶數&#xff0c;后手獲勝。 分析&#xff1a; 369*99<36500&#xff0c;369*100>36500。 注意&#xff1a;前綴和和后綴和問題

知識(202402)

1.Conditional Conditional來源于spring-context包下的一個注解。Conditional中文是條件的意思&#xff0c;Conditional注解它的作用是按照一定的條件進行判斷&#xff0c;滿足條件給容器注冊bean。 可以控制一個配置類是否注入到容器中&#xff0c;比如控制xxl-job不自動注冊…

【wpf】關于綁定的一點明悟

背景簡介 軟件功能為&#xff0c;讀取一個文件夾下的所有子文件夾&#xff0c;每個文件夾對自動對應生成 一組 “按鍵四個勾選” 按鍵點擊觸發&#xff0c;可以發送與其對應文件夾中的一些內容。這個綁定的過程我在之前的文章有過詳細的介紹&#xff0c;非常的簡單。 這里回顧…

3月1日做題總結(靜態庫與動態庫)

前言 最近學到了靜態庫和動態庫的相關知識&#xff0c;就順便整理了一下相關題目。如果對靜態庫和動態庫知識不熟悉的同學&#xff0c;推薦看這篇文章——《靜態庫與動態庫》&#xff0c;講的很詳細。 第一題 關于靜態庫與動態庫的區別&#xff0c;以下說法錯誤的是&#xff…

mac jupyter使用現有的python環境

mood&#xff1a;python 編程真的是在反復的與自己和解啊 本來超級的畏難情緒 讀會兒書 計算機博士的書 感覺還是要堅強的。《研磨記》--一位博士生的回憶錄 作者技術真的強啊 正文開始&#xff1a; 聚焦搜索&#xff0c;打開終端激活虛擬環境&#xff1a;conda activate pyt…

力扣爆刷第83天之hot100五連刷1-5

力扣爆刷第83天之hot100五連刷1-5 文章目錄 力扣爆刷第83天之hot100五連刷1-5一、1. 兩數之和二、49. 字母異位詞分組三、128. 最長連續序列四、283. 移動零五、11. 盛最多水的容器 一、1. 兩數之和 題目鏈接&#xff1a;https://leetcode.cn/problems/two-sum/description/?…

javascript中使用‘use strict’和不使用的區別

錯誤處理&#xff1a; 嚴格模式使得 JavaScript 對某些可能的問題拋出錯誤&#xff0c;而在非嚴格模式下&#xff0c;這些問題可能會被忽略。例如&#xff0c;未聲明的變量&#xff08;即全局變量&#xff09;在非嚴格模式下會被隱式地創建為全局變量&#xff0c;而在嚴格模式…

十一、 二進制位運算

描述 Python有位運算&#xff0c;是直接將數字看成二進制&#xff0c;直接對二進制數字的每一位進行運算。現輸入兩個十進制整數x、y&#xff0c;請計算它們的位與、位或&#xff0c;輸出按照十進制的形式。 輸入描述&#xff1a; 一行輸入兩個整數x、y&#xff0c;以空格間…

git:合并兩個不同倉庫的代碼

有兩個代碼倉庫&#xff1a;代碼倉庫A、代碼倉庫B&#xff0c;其中一個倉庫的代碼是為了新項目拉取的新分支&#xff0c;所以分支的部分修改歷史是相同的 現在要將代碼倉庫B 的代碼合并到代碼倉庫A 實現思路&#xff1a;分支合并 實現步驟&#xff1a; # 1、clone代碼倉庫A…

外匯天眼:ASIC 獲得針對前 Blockchain Global 董事的臨時出行限制令

澳大利亞證券與投資委員會&#xff08;ASIC&#xff09;已經針對前Blockchain Global Limited&#xff08;清算中&#xff09;董事梁國&#xff08;又名Allan Guo&#xff09;獲得了臨時旅行限制令。這些命令在其他方面&#xff0c;阻止郭先生在2024年8月20日或進一步命令之前離…

(done) 如何計算 Hessian Matrix 海森矩陣 海塞矩陣

參考視頻1&#xff1a;https://www.bilibili.com/video/BV1H64y1T7zQ/?spm_id_from333.337.search-card.all.click 參考視頻2&#xff08;正定矩陣&#xff09;&#xff1a;https://www.bilibili.com/video/BV1Ag411M76G/?spm_id_from333.337.search-card.all.click&vd_…

【JGit】 AddCommand 新增的文件不能添加到暫存區

執行git.add().addFilepattern(".").setUpdate(true).call() 。新增的文件不能添加到暫存區&#xff0c;為什么&#xff1f; 在 JGit 中&#xff0c;setUpdate(true) 方法用于在調用 AddCommand 的 addFilepattern() 方法時&#xff0c;將已跟蹤文件標記為需要更新。…

C語言基礎—習題及代碼(一)

1.讀取一個65到122之間的整型數&#xff0c;然后以字符形式輸出它&#xff0c;比如讀取了97&#xff0c;輸出字符a #include <stdio.h> int main(){int n;scanf("%d",&n);if(n>65 && n<122){printf("%c\n",n);} } 2.判斷某個年份…

windows安裝部署node.js以及搭建運行第一個Vue項目

一、官網下載安裝包 官網地址&#xff1a;https://nodejs.org/zh-cn/download/ 二、安裝程序 1、安裝過程 如果有C/C編程的需求&#xff0c;勾選一下下圖所示的部分&#xff0c;沒有的話除了選擇一下node.js安裝路徑&#xff0c;直接一路next 2、測試安裝是否成功 【winR】…

語義內核框架(Semantic Kernel)

語義內核框架-Semantic Kernel 首先看看官方描述&#xff1a;Semantic Kernel 是一個開源 SDK&#xff0c;可讓您輕松構建可以調用現有代碼的代理。作為高度可擴展的 SDK&#xff0c;可以將語義內核與來自 OpenAI、Azure OpenAI、Hugging Face 等的模型一起使用&#xff01;通…

vue3.4新特性:v-bind同名簡寫、defineModel

在上一篇 vue3.3 文章中&#xff0c;雖然寫了 defineModel &#xff0c;但并未考慮到寫的時候3.4版本里 defineModel 才作為穩定的API正式加入( 兩年沒看vue3 更新的內容了... )&#xff0c;并增加了對支持修飾符相關的內容&#xff1b; 基于此&#xff0c;如果在vue3.3的版本…