CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

100,希望能够解决我的需求:关于字段中英文转换的问题!

楼主cqnucsmoon()2006-03-06 17:10:44 在 MS-SQL Server / 基础类 提问

目的很简单:  
   
  数据库中各表的字段名称为仍然为英文;但给用户看的时候,或者让用户自行选择导出字段的时候,能够让用户看见的却是中文意思?不想用AS   关键字,因为表特别多,字段也太多了。  
   
  记得以前看过别人用Foxpro来做过,但记不起是怎么做的了。  
   
  谢谢各位了,先! 问题点数:100、回复次数:16Top

1 楼lsqkeke(可可)回复于 2006-03-06 17:16:10 得分 0

你字段名为英文,要显示为中文    
  显示时的对应关系也要人为指定的吧!!  
   
  select   '想写'=col1,  
                没事   =col2,  
                col3   as     '事情'  
  from   tb  
   
  或许我真的不懂   :)  
   
  关注........Top

2 楼cqnucsmoon()回复于 2006-03-06 17:20:01 得分 0

楼上写的可能就相当于AS吧?  
  我在想能不能弄一个参照表之类的Top

3 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2006-03-06 17:26:16 得分 20

可以用参照表,但是这样的操作势必用到动态SQL。Top

4 楼zjcxc(邹建)回复于 2006-03-06 17:27:54 得分 55

这种需求一般是在程序中去实现的  
   
  在数据库中使用一个表:  
  表名     英文名       中文名  
   
  然后在程序中,   根据调用的表的情况,   把对应的英文列名变为中文列名.  
   
   
  数据库中不可能直接实现这种需求,   一般也不在数据库中来做这种事Top

5 楼zlp321002(Life Is Good,Let's Shine)回复于 2006-03-06 17:28:25 得分 10

--把每一个表字段和表说明,写清楚,然后直接就可以导出字段名和字段中文名称了。Top

6 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2006-03-06 17:34:10 得分 0

create   table   test_t1(ID   int,name   varchar(20))  
  insert   into   test_t1   select   1,'AAAA'  
  insert   into   test_t1   select   2,'BBBB'  
  create   table   test_t2(Ename   varchar(20),Cname   varchar(20))  
  insert   into   test_t2   select   'ID','编号'  
  insert   into   test_t2   select   'name','姓名'  
   
  declare   @s   varchar(8000)  
  set   @s=''  
  select  
          @s=@s+','+Ename+'   as   '+Cname  
  from  
          syscolumns   a,  
          test_t2   b  
  where  
          a.name=b.Ename   and   a.id=object_id('test_t1')  
  order   by  
          a.colid  
   
  set   @s='select   '+stuff(@s,1,1,'')+'   from   test_t1'  
   
  exec(@s)  
   
  /*  
  编号                   姓名                                        
  -----------   --------------------    
  1                       AAAA  
  2                       BBBB  
  */  
   
  drop   table   test_t1,test_t2Top

7 楼cqnucsmoon()回复于 2006-03-06 17:39:58 得分 0

谢谢楼上的各位朋友  
  我试试先  
   
  一定结帐,呵呵Top

8 楼zjcxc(邹建)回复于 2006-03-06 17:44:33 得分 0

个人觉得在数据库中做这事始终有点勉强,   因为不同的业务需要,   是会从不同的表查询数据,   往往会关联多张表,   如果直接在数据库中来实现这些,   会比较不好控制.  
   
  如果是固定的需求,   那不如直接针对这些需求写好视图或者存储过程,   对照表都免了Top

9 楼cqnucsmoon()回复于 2006-03-06 17:50:04 得分 0

zjcxc(邹建):  
   
  我最头痛就是查询太多了,按你说的,我的主表基本上只有一个,只是与主表的联合查询比较多;但因有比较多的报表查询、统计查询,还有导出数据,数据字段要求各不一样,非常麻烦,经常要用AS   别名来做。  
   
  不过现在大家都给出了不同意思,我基本上明白各种方法的原理。  
   
  现在还是同意zjcxc(邹建)的办法,用一个视图,然后在程序中控制动态生成查询语句,操作比较直观,而且也用不着我每次都去自己写代码了。  
   
  如果大家还有更好的办法,欢迎发表,再次表示感谢!  
  今天晚上来结帐,呵呵!Top

10 楼lsqkeke(可可)回复于 2006-03-06 17:52:24 得分 5

子陌兄的解决方案   也是用as   解决的啊Top

11 楼cqnucsmoon()回复于 2006-03-06 18:01:24 得分 0

刚刚由这个问题想到了  
   
  顺便问一个问题:  
   
  在哪种情况之下用存储过程?我觉得我的数据库中有好多存储过程呀,比较复杂的查询我都用了存储过程,以便应用程序调用,只觉得这样用起比较方便,写的应用程序代码不用变多少,要变就改变一下存储过程就行了,但不知道应不应该这么用。Top

12 楼zjcxc(邹建)回复于 2006-03-06 18:10:25 得分 0

一般来说,   如果查询的方式是固定的就建议使用存储过程.    
  当然,   还可以加上:  
  1.   处理的逻辑较为复杂(但不建议把业务逻辑过多的封装在存储过程中)  
  2.   查询参数较为固定  
  3.   处理过程多数能利用sql语句实现批处理.  
  Top

13 楼accpyy(小小鸟儿)回复于 2006-03-06 18:14:06 得分 5

不知道楼主是想用什么控件来显示数据啊?你的意思没有表达明白哦  
  这么多高手都在,值得关注Top

14 楼accpyy(小小鸟儿)回复于 2006-03-06 18:16:12 得分 0

不好意思弄错地方了,原来是在数据库开发中!还以为在c#下Top

15 楼gaojier1000(V2※高捷)回复于 2006-03-06 18:27:48 得分 5

还是做中英文对照表吧!Top

16 楼cqnucsmoon()回复于 2006-03-06 19:02:54 得分 0

呵呵,谢谢楼上的众多朋友,现在就结帐啦!Top

相关问题

  • ps 中英文转换
  • 中英文转换问题。
  • DATE型字段的转换
  • 字段类型的转换
  • 怎样将英文字段名转换成中文字段名?
  • 这个字段转换的怎么做。
  • VB 能否利用 TEXT 折行特性,把中英文混排文字段落分为几行?
  • 如何在PB中转换中、英文输入法,在线等待!急!!
  • 急~!请问一个如何把一个网站在中英文之间转换
  • 请教,如何把多个字段值动态转换成字段标题 急!

关键词

  • 字段
  • 存储过程
  • 查询
  • 数据库
  • 需求
  • 解决
  • 中文
  • 数据
  • 用户
  • 字段名

得分解答快速导航

  • 帖主:cqnucsmoon
  • libin_ftsafe
  • zjcxc
  • zlp321002
  • lsqkeke
  • accpyy
  • gaojier1000

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo