标题:C#输出的内容为System.Byte[],我如何将其转成string类型,或者是char类型的 ...
只看楼主
jianjiajing
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2010-11-29
结帖率:54.55%
已结贴  问题点数:20 回复次数:9 
C#输出的内容为System.Byte[],我如何将其转成string类型,或者是char类型的数组
               我连接数据库后,把Select出来的数据利用DataSet存储了起来,然后用循环遍历DataSet,利用Console.WriteLine()输出其中一列的值,输出的内容竟然全是System.Byte[];
 string connStr = "Server = 172.25.0.224,1433;database = SUSDB;uid = sa;pwd =123456";
 string sql = "select * from dbo.tbFile";
 SqlConnection MyConnection = new SqlConnection(connStr);
 SqlDataAdapter MyDataAdapter = new SqlDataAdapter(sql, MyConnection);
 MyConnection.Open();
 MyDataAdapter.Fill(ds);
  DataTable dt = ds.Tables[0];
 foreach (DataRow row in dt.Rows)
    foreach (DataColumn col in dt.Columns)
           Console.Write(((row["FileDigest"])));//FileDigest 是dbo.tbFile的列名,
MyConnection.Close();

备注:FileDigest列的类型是 binary,用select语句查询出来的数据是以0x开头的十六进制数(如:0x00000EB9883649ADFC85D3B92D1540A5CE99C5CB)。上述程序输出的结果全部都是System.Byte[],我想把输出转成string的字符串,内容就类似于0x00000EB9883649ADFC85D3B92D1540A5CE99C5CB

谁来帮帮我,提前谢谢了。。。。。



搜索更多相关主题的帖子: Byte string char System 类型 
2010-11-29 13:48
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
得分:5 
修改SQL语句:
select convert( varchar(50), 'FileDigest') From dbo.tbFile。
试一下行不行。
2010-11-29 14:39
chenweiask
Rank: 1
等 级:新手上路
帖 子:11
专家分:5
注 册:2010-11-25
得分:5 
试试用.ToString()方法
2010-11-29 15:00
loveyang
Rank: 2
等 级:论坛游民
帖 子:19
专家分:44
注 册:2010-11-12
得分:5 
直接强制转换.toString()不好用吗?
2010-11-29 15:31
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
得分:5 
tostring()方法应该可以吧?!
2010-11-29 20:23
chenweiask
Rank: 1
等 级:新手上路
帖 子:11
专家分:5
注 册:2010-11-25
得分:0 
或者用Convert.ToString()
2010-11-30 09:47
jianjiajing
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2010-11-29
得分:0 
toString()方法用了,不管用啊,一到toString()这句直接跳到catch{}
2010-11-30 14:18
jianjiajing
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2010-11-29
得分:0 
“zhoufeng1988  修改SQL语句:
select convert( varchar(50), 'FileDigest') From dbo.tbFile。
试一下行不行。 ”
试了,也不行。。。杯具了,继续想办法。。多谢了
2010-11-30 14:54
jianjiajing
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2010-11-29
得分:0 
我找到办法了,参考参考。。。

foreach (DataRow row in dt.Rows)
                foreach (DataColumn col in dt.Columns)
                {
                    object obj = row["FileDigest"];
                    byte[] dd = (byte[])obj;
                    string val = BitConverter.ToString(dd).Replace("-", "");
                    Console.WriteLine(val);
                }
2010-12-02 09:41
hangzatm
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2021-3-29
得分:0 
真没想到都2021年了,我到最后竟然还是在2010年的帖子上找到的答案
2021-03-29 16:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-327241-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.148462 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved