数据库如何字段转换?

麻烦的一笔 2009-06-18 08:37:26
打个比方吧,数据库里男女用0和1表示
但是在显示的时候总不能显示0和1吧,如何把它转换成男女?
我现在的代码是:
 
//业务逻辑获取数据类
DisportManager manager = new DisportManager();
//用table接收数据
DataTable table = manager.showPack();
if (table.Rows.Count > 0)
{
int disportClass = (int)table.Rows[0]["DisportPackClass"];
if (disportClass == 0)
{
packClass = "无";
}
else if (disportClass == 1)
{
packClass = "优惠";
}
else if (disportClass == 2)
{
packClass = "热门";
}
}
else
{
table = null;
}//Repeater绑定数据
this.reapterShowDisortPack.DataSource = table;
this.reapterShowDisortPack.DataBind();

现在做了判断后就有了问题,第一项是无后面的全是无,即使有的是‘优惠’也显示的无
该怎么解决啊?
...全文
131 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
麻烦的一笔 2009-06-18
  • 打赏
  • 举报
回复
15楼的朋友感谢你,问题在你的引导下解决了,谢谢!等下给分!
BernardSun 2009-06-18
  • 打赏
  • 举报
回复

public string getString(string str)
{
string packClass = "";
switch (str)
{
case "0":
packClass = "无";
break;
case "1":
packClass = "优惠";
break;
case "2":
packClass = "热门";
break;
}
return packClass;
}

转换的部分单独写个方法,页面

<%#getString( Eval("DisportPackClass").ToString())%>
麻烦的一笔 2009-06-18
  • 打赏
  • 举报
回复
楼上的各位重要的问题是我不是用sql查询语句的,
我们公司自己开发了一个数据库框架,是用面向对象的方式查询数据的,
这个框架我刚来,还用的不熟练,日啊,能把数据查出来就不错了
mbh0210 2009-06-18
  • 打赏
  • 举报
回复
楼主,没有啥问题的,case之后的本来就不是原来的字段,两个是有区别,
select
case(sex)
when '1' then '男'
else '女'
end as sex,sex

from MemberInfo
你这样看就明白了
lhqmcy 2009-06-18
  • 打赏
  • 举报
回复
楼主,这个,肯定要对你的结果集进行循环了。。。
另外,2楼和4楼的实现方式很好,本来SQL就可以处理的问题,问什么非要拿到代码里去处理呢?
麻烦的一笔 2009-06-18
  • 打赏
  • 举报
回复
我是想把数据库的字段取出来再做判断,不是在sql里直接判断
麻烦的一笔 2009-06-18
  • 打赏
  • 举报
回复
2L的我的数据库字段类型是int类型,你那样做不就是把一个string类型附到int类型吗?
antiking 2009-06-18
  • 打赏
  • 举报
回复
4\6楼的答案
pdsnet 2009-06-18
  • 打赏
  • 举报
回复
sex==0?"男":"女"
haonanxxx 2009-06-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 moonshineidolon 的回复:]

//业务逻辑获取数据类
DisportManager manager = new DisportManager();
//用table接收数据
DataTable table = manager.showPack();

for (int i=0;i <table.Rows.Count;i++)
{
int disportClass = (int)table.Rows[i]["DisportPackClass"];
if (disportClass == 0)
{
packClass = "无";
}

[/Quote]

遍历table>>>的row.
symbol441 2009-06-18
  • 打赏
  • 举报
回复
参考,用数据库语句处理

select
case(sex)
when '1' then '男'
else '女'
end as sex

from MemberInfo

麻烦的一笔 2009-06-18
  • 打赏
  • 举报
回复
没用switch写也是一样的,我在页面<%=packClass %>写出来的也是一样的
ws_hgo 2009-06-18
  • 打赏
  • 举报
回复
你在数据库查询的时候用

case when 性别=1 then '男' else '女' end
老郭20130824 2009-06-18
  • 打赏
  • 举报
回复
对,2楼的的做法。楼主你需要循环遍历整个表然后判断赋值,不是只判断第一行。
moonshineidolon 2009-06-18
  • 打赏
  • 举报
回复

//业务逻辑获取数据类
DisportManager manager = new DisportManager();
//用table接收数据
DataTable table = manager.showPack();

for (int i=0;i<table.Rows.Count;i++)
{
int disportClass = (int)table.Rows[i]["DisportPackClass"];
if (disportClass == 0)
{
packClass = "无";
}
else if (disportClass == 1)
{
packClass = "优惠";
}
else if (disportClass == 2)
{
packClass = "热门";
}

table.Rows[i]["DisportPackClass"]=packCLass;

}
this.reapterShowDisortPack.DataSource = table;
this.reapterShowDisortPack.DataBind();
BernardSun 2009-06-18
  • 打赏
  • 举报
回复
用switch case写

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧