我有一个方法是调用MySQL程序。下面是程序的一部分:Convert.ToString返回`System.Byte []`而不是实际的数据作为GROUP_CONCAT返回BLOB
SELECT AR.alert_id AS AlertId,
AR.rule_id AS RuleId,
AR.name AS RuleName,
AR.rule_type AS RuleType,
AR.description AS Description,
(SELECT group_concat(occured_event_id separator ', ')
FROM alert_rule_event
WHERE alert_rule_id = AR.id) AS OccuredEventIds,
FROM alert_rule AR
C#代码:
alertRuleEntity.AlertId = Convert.ToInt32(dtAlertRuleEntityList.Rows[index]["AlertId"]);
alertRuleEntity.RuleId = Convert.ToInt32(dtAlertRuleEntityList.Rows[index]["RuleId"]);
alertRuleEntity.RuleName = Convert.ToString(dtAlertRuleEntityList.Rows[index]["RuleName"]);
alertRuleEntity.RuleType = Convert.ToString(dtAlertRuleEntityList.Rows[index]["RuleType"]);
alertRuleEntity.Description = Convert.ToString(dtAlertRuleEntityList.Rows[index]["Description"]);
alertRuleEntity.OccuredEventIds = Convert.ToString(dtAlertRuleEntityList.Rows[index]["OccuredEventIds"]);
据如下返回值:
它能够正确读取所有列值。但是在列OccuredEventIds
的情况下,其价值为System.Byte[]
,而不是其实际值。可能是什么问题呢?
该列的数据类型是什么?它看起来是某种二进制类型。 – 2013-05-13 08:07:05
occured_event_id是INT类型。但是程序正在返回逗号分隔的ID。 – Ajinkya 2013-05-13 08:10:09
分享您编写的一些C#代码以读取PROC中的数据... – Pandian 2013-05-13 08:11:54