只有一列(使用||拼接多个字段而成的)dataset怎么对其中一个字段(列)进行处理

只有一列(使用||拼接多个字段而成的)dataset如何对其中一个字段(列)进行处理
我遇到了一个十分蛋疼的问题
我用
select yhzh||name||sfzh from tb
 这样的查询,得到的一个dataset
很显然,这个dataset只有一列
但是我又要用另一个函数对其中的name、sfzh进行处理(修改)

这个应该怎么办呀


------解决方案--------------------
基于你上次只给了我一分...

觉累不爱了....
------解决方案--------------------
你就直接
------解决方案--------------------
这么拼接,中间什么都不加的话,真心处理不了.
你可以把单个列和拼接列都查询出来,到时候其他3列别显示不就得了
------解决方案--------------------
你就不能加个特殊标记将这些合并的元素分割开来吗?
比如下划线,当然前提是几列当中不包含这个字符。select yhzh
------解决方案--------------------
'_'
------解决方案--------------------
name
------解决方案--------------------
'_'
------解决方案--------------------
sfzh from tb。
然后你在得到的dataset中获取每一行的时候用Split分割一下,就可以分别取到里面的yhzh、name、sfzh等元素了。
------解决方案--------------------
没事啊,写一个C#方法专门处理这个逻辑就是了。就是麻烦一点,不知道难度在哪。
------解决方案--------------------
万一这几个值没有固定长度而且都是字符+数字无序拼接..那你不是自己都不知道查了个什么出来?..还是换条语句吧....
------解决方案--------------------
引用:
难度在于:不分割则无法处理
分割的话,重新组合又是一个问题

是导出,不是显示,是吧.
你处理过程想写在哪里,导出的过程中?
如果不是,可以先分别取出来,处理好后放到一个新的datatable里(只有一列,处理完直接拼接好),然后导出.
------解决方案--------------------

         string 解密(string s)
        {
            return s.Replace("@", "ok").Replace("$", "ok");
        }




            var dt = new DataTable();
            dt.Columns.Add("a", typeof(string));
            dt.Rows.Add("11111^@@@@@^$$$$$");
            dt.Rows.Add("44444^@@@@@^$$$$$");
            dt.Rows.Add("77777^@@@@@^$$$$$");

            var newdt = dt.AsEnumerable().Select(d => 
                d.Field<string>("a").ToString().Split('^')[0]+
                解密(d.Field<string>("a").ToString().Split('^')[1]) +
                解密(d.Field<string>("a").ToString().Split('^')[2])).ToList();

            for (int i = 0; i < newdt.Count; i++)
            {
                Console.WriteLine(newdt[i]);//自己写入txt
            }

------解决方案--------------------
或者像4楼说的,中间加逗号或下划线分割,处理完再重新拼接,这时就不要再把分隔符也拼接进去了
------解决方案--------------------
重新组合不就是一个replace("password","");的事吗= =....
------解决方案--------------------
好新颖的dataset使用方法只有一列(使用||拼接多个字段而成的)dataset怎么对其中一个字段(列)进行处理