结构化类型为空



我正在传递2个数据表(结构化类型)@tblParent@tblChild作为输入参数到我的存储过程,

paramList.Add(DbSqlManager.CreateParameter("@tblParent", ParameterDirection.Input, alertsDataDt));
paramList.Add(DbSqlManager.CreateParameter("@tblChild", ParameterDirection.Input, alertsPointDataDt));
  1. @tblParent总是最少1条记录
  2. @tblChild可能没有记录

而传递@tblChild没有记录,我得到以下明显的错误,

"结构化类型中的字段不足。结构化类型必须至少有一个字段。"

问题是,是否有办法处理这个没有记录在@tblChild??

传递的DataTable必须至少具有结构。确保alertsPointDataDt具有表结构。您可以验证并传递null,如下所示:

paramList.Add(
    DbSqlManager.CreateParameter(
        "@tblChild",
        ParameterDirection.Input,
        alertsPointDataDt.Rows.Count > 0 ? alertsPointDataDt : null));

最新更新