问题与mysql和c#有关

我有一个存储过程返回查询结果
该查询具有串联的列作为第一列和其他各个列

当我以dt.rows [i] [0]的形式访问数据列时,它以System.byte []的形式返回

即使我试图将其写入文件,但它始终以System.byte []的形式写入文件

我试图使用将其转换为字节数组
byte [] b =(byte [])dt.Rows [i] [0];

由于无法将字符串转换为字节[],因此产生了异常

我试图将所有值添加为列表中的字符串

List<string> list = new List<string>();
                foreach (DataRow row in dt.Rows)
                {
                    list.Add(row[0].ToString());
                }


并将list [i]写入文件会将System.byte []写入文件

任何想法如何克服这个问题

其他列可以正常访问和显示,只有第一个列具有来自多个列的关联值的情况下才如此

像这样


  SELECT CONCAT('390',DATE(t5.InventoryDate),t5.SKUorItem)AS
  PK
      t5.CustomerID,t5.entityID,t5.inventoryDate,t5.SKUorItem,t5.Category,t5.inventory FROM

最佳答案

尚未测试代码,但希望您能理解。
将每个八位位组转换为数字,然后将数字转换为字符。

int character = 0;
int bitValue = 1;
int count = 0;
string result = "";

for (int i = row[0].Length - 1; i >= 0 ; i--)
{
    character += row[0][i] * bitValue;
    bitValue *= 2;
    count++;
    if(count == 7)
    {
         count = 0;
         character= 0;
         bitValue = 1;
         result += (char) character;
    }
}

关于c# - 当datacolumn [row] [0]返回system.byte时,如何查看字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30834735/

10-11 01:42