| | |
| | | { |
| | | var parameters = new[] |
| | | { |
| | | new SugarParameter("V_WORK_ORDER_NO", workOrderNo), |
| | | new SugarParameter("V_MACHINE_NO", machineNo), |
| | | new SugarParameter("PO_CURSOR", null) { Direction = ParameterDirection.Output, DbType = SystemDataDbType.Object } |
| | | }; |
| | | // 假设存储过程名为 PROC_GET_FORM_DATA,返回游标 |
| | | var result = Db.Ado.UseStoredProcedure().GetDataTable("PROC_GET_FORM_DATA", parameters); |
| | | // DataTable 转 List<dynamic> |
| | | var list = new List<dynamic>(); |
| | | foreach (DataRow row in result.Rows) |
| | | new SugarParameter("V_WORK_ORDER_NO", string.IsNullOrEmpty(workOrderNo) ? (object)DBNull.Value : workOrderNo, System.Data.DbType.String), |
| | | new SugarParameter("V_MACHINE_NO", string.IsNullOrEmpty(machineNo) ? (object)DBNull.Value : machineNo, System.Data.DbType.String), |
| | | new SugarParameter("PO_CURSOR", null) { Direction = ParameterDirection.Output, DbType = System.Data.DbType.Object } |
| | | }; |
| | | |
| | | try |
| | | { |
| | | IDictionary<string, object> expando = new ExpandoObject(); |
| | | foreach (DataColumn col in result.Columns) |
| | | // 使用 SqlSugar 的存储过程调用方式 |
| | | var result = Db.Ado.UseStoredProcedure().GetDataTable("PROC_GET_FORM_DATA", parameters); |
| | | |
| | | // DataTable 转 List<dynamic> |
| | | var list = new List<dynamic>(); |
| | | foreach (DataRow row in result.Rows) |
| | | { |
| | | expando[col.ColumnName] = row[col]; |
| | | IDictionary<string, object> expando = new ExpandoObject(); |
| | | foreach (DataColumn col in result.Columns) |
| | | { |
| | | expando[col.ColumnName] = row[col] == DBNull.Value ? null : row[col]; |
| | | } |
| | | list.Add(expando); |
| | | } |
| | | list.Add(expando); |
| | | return list; |
| | | } |
| | | return list; |
| | | catch (Exception ex) |
| | | { |
| | | throw new Exception($"调用存储过程 PROC_GET_FORM_DATA 失败: {ex.Message}"); |
| | | } |
| | | } |
| | | } |