详细代码如下:
using (DmConnection cn = new DmConnection(connectionString))
using (DmCommand cmd = new DmCommand(spName, cn))
{
cn.Open();
cmd.CommandType = CommandType.StoredProcedure;
DmCommandBuilder.DeriveParameters(cmd);///////////数据库是否存在Bug:这里获取不到存储过程有哪些参数?
DmParameter[] discoveredParameters = new DmParameter[cmd.Parameters.Count];
cmd.Parameters.CopyTo(discoveredParameters, 0);
return discoveredParameters;
}
老师,您这边可以使用达梦最新的驱动验证下,这边用1.1.0.16649这个版本验证,是可以正常打印存储过程的参数信息(参数名称、参数类型等)。打印存储过程参数信息如下:

数据库建表和存储过程定义:
DROP TABLE PRODUCT;
CREATE TABLE PRODUCT(PRODUCTID INT , NAME VARCHAR);
INSERT INTO PRODUCT VALUES(1,'TEST1');
COMMIT;
CREATE OR REPLACE PROCEDURE "UPDATEPRODUCT"
(
V_ID INT,
V_NAME VARCHAR(50)
)
AS
BEGIN
UPDATE PRODUCT SET NAME = V_NAME WHERE PRODUCTID = V_ID;
END;
SELECT * FROM PRODUCT;
程序的示例,供参考:
Program.txt