问题与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/