首页 > 解决方案 > 存储过程中的数字或值错误

问题描述

您好,我有一个 oracle 数据库,我正在尝试添加一个过程以根据输入选择驱动程序但是我收到此错误消息 Numeric or value error 如果我从过程中删除 varchar2 输出并尝试在 plsql 中没有问题发生 在此处输入图像描述

OracleCommand command = new OracleCommand();
            command.Connection = connection;
            command.CommandType = CommandType.StoredProcedure;
            command.CommandText = "SelectDrive";

            command.Parameters.Add("LicenseNumber", OracleDbType.Int32, ParameterDirection.Input);
            command.Parameters["LicenseNumber"].Value = Int32.Parse(bunifuMaterialTextbox2.Text);

            command.Parameters.Add("FirstNamee", OracleDbType.Varchar2, ParameterDirection.Output);
            command.Parameters.Add("LastNamee", OracleDbType.Varchar2, ParameterDirection.Output);
            command.Parameters.Add("ContactNumberr", OracleDbType.Int32, ParameterDirection.Output);


            int r = command.ExecuteNonQuery();




create or replace
PROCEDURE "SELECTDRIVE" 
 (LicenseNumber in number, FirstNamee out VARCHAR2, LastNamee out VARCHAR2, ContactNumberr out NUMBER)
as
begin

select d.firstname, d.lastname, d.contactnumber 
into   FirstNamee , LastNamee , ContactNumberr
from   Driver d
where LicenseNumber=d.license;
end;

任何想法?

标签: sqloracleplsqloracle11g

解决方案


推荐阅读