c#像Oracle存储过程传入list集合类型参数,如何传参
诗和远方C 2019-05-25 02:41:55 已经自定义类型
create or replace type measurebean_type as object(
handSetId nvarchar2(100),
eventNum varchar2(100),
temperature varchar2(100),
blueTooth varchar2(100),
)
create or replace type measurebean_list as array(1000) of measurebean_type;
procedure PRO_INSERT_MEASUREBEAN(
listvalue in measurebean_list,
val out varchar2,
message out varchar2
)
is
begin
--...业务逻辑
-- for i in 1 .. listvalue.count loop
-- message:=message||'{handSetId:'||listvalue(i).handSetId||', eventNum:'||listvalue(i).eventNum||', temperature'||listvalue(i).temperature||'},';
-- end loop;
Val:='OK';
Message:='OK';
end;
List<Measuredata> bean = new List<Measuredata>();
public class Measuredata
{
public string handSetId { get; set; }
public string eventNum { get; set; }
public string temperature { get; set; }
public string blueTooth { get; set; }
}
c#中传参这部分怎么写呢,
OracleParameter p1 = new OracleParameter("listvalue", OracleDbType.Array, 1000);
p1.Direction = System.Data.ParameterDirection.Input;
p1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
p1.Value = bean; --bean是一个list集合
这样写会报错:OracleParameter.value 无效