c# - 如何调用返回 1 行的存储过程?
问题描述
如何在 C# 中调用一个过程只返回 1 行?
当我运行我编写的这段代码时,我收到了这个错误:
ORA-06502:PL/SQL: 数值或数值错误
代码:
con.Open();
OracleCommand comm = new OracleCommand();
comm.Connection = con;
comm.CommandText = "GetFirstName";
comm.CommandType = CommandType.StoredProcedure;
comm.Parameters.Add("ssnid", global.passuser);
comm.Parameters.Add("fname", OracleDbType.Varchar2).Direction = ParameterDirection.Output;
comm.ExecuteNonQuery();
textBox2.Text = comm.Parameters["fname"].ToString();
程序:
create or replace procedure GetFirstName
(ssnid in VARCHAR2 , fname out VARCHAR2)
as
begin
select firstname
into fname
from passenger
where ssn = ssnid ;
end;
解决方案
尝试使用此语法
cmd.Parameters.Add("ssnid",OracleDbType.Varchar2).Value = global.passuser;
// or global.passuser.ToString();
顺便解决一下
textBox2.Text = comm.Parameters["fname"].Value.ToString();
推荐阅读
- c - GCC compiler gives different results for Windows and Linux?
- python-3.x - 为什么 apache 在系统根目录而不是项目目录上查找文件,我收到类似 FileNotFound 的错误
- postgresql - Don't find /var/lib/postgresql/data/ directory on ubuntu when created docker image
- powershell - 我想使用 Office365 Graph API,为此我使用 Powershell,但是 Connect-Graph cmdlet 抛出错误
- javascript - How to create BizCharts without using Pure Javascript
- laravel - Laravel eloquent query loads hundreds of models
- android - How to check if binder of Butterknife is unbinded
- dataset - 在 Stata 中清理和合并数据
- python - Python directory file go wrong
- kubernetes - Kube-aws: Template format error: Unresolved resource dependencies [IAMRoleController]