.net 数据替换怎么用!!!
从数据库读出来的数据,如图
上面的数据时来源于多张表。用行转列 计算出来的一个月(01--31)的数据,中间是int 类型,
现在可以放在dataset中,
1,2,3,4 表示 四种状态,在数据中有一个状态表对应的 中文意义。
怎么把那些数字替换为相应的文字说明,我要导出到excle 里面
------最佳解决方案--------------------你要先知道1234的中文在哪个表里,然后SQL语句开始的位置select * 换成 select [姓名],[01],[02],[03],……
把中间需要换成中文的字段的用case语句代替,比如
select [姓名],[01],(case 02 when 1 then '啊' when 2 then '不' when 3 then '成' when 4 then '的') as ['02'],…… from ( select datepart(DD,Duty.date) as daydate,DutyPeople.name as '姓名',DutyState.ID as statename
FROM Duty,DutyDepart,DutyPeople,DutyState
where Duty.peopleID=DutyPeoPle.ID and Duty.stateID=DutyState.ID and DutyPeoPle.DepartID=DutyDepart.ID
--and CONVERT(varchar(7), date, 121)='2012-11'
) qty pivot( sum(statename) for daydate in(
[01],[02],[03],[04],[05],[06],[07],[08],[09],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31] ) ) as pvt
------其他解决方案--------------------在你的那个子查询里,连接你的状态表,用文字当作statename不用Id
我看你的那个dutyState可能就是状态表,把dutyState.Id as statename改成dutyState.name as statename
------其他解决方案--------------------定义个字典,数字为key,value为中文,你根据数字找字典不就行了,还可以在数据库中定义一个表,去表中查询,或者sql查询时,就两表联合或用when case语句专为中文
------其他解决方案--------------------sql帮助查 CASE 语句
------其他解决方案--------------------写个视图关联中文含义表。
或者你把当前读入取的数据写成一个视图A ,然后在创建视图B,把视图A当作一个表写在B里面,然后在写个关联,
看起来比较麻烦,能写成一个试图会比较好点。
------其他解决方案--------------------加状态对应表,然后进行连接查询。
------其他解决方案--------------------在导出前,先替换掉数字
------其他解决方案--------------------替换后生成一个表,再导出这个表,思路是这样的,看看
------其他解决方案--------------------我这里举个简单的列子:就0和1,转女和男吧!
在数据库中存性别的时候,存的数据可能是0和1,但是在DataSet或GridView控件中显示的时候,想让它显示出男和女,该如何实现呢?
你可以在数据库中用SQL直接实现
select
(case sex when 0 then '男' else '女' end) sex
,name
from
studinfo
也可以通过设置GridView模板列来实现
<asp:TemplateField HeaderText="姓别">
<ItemTemplate>DataBinder.Eval(Container, "DataItem.F_STATUS_NAME").ToString()=="0"?"男":女; </ItemTemplate>
</asp:TemplateField>
------其他解决方案--------------------查询出table之后,进行处理,就是在BLL层,对分类数字,转成字符后,再绑定,
------其他解决方案--------------------附上 sql 查询语句