数据库表里的数据内容转换问题(100分)

  • 主题发起人 主题发起人 ljun
  • 开始时间 开始时间
L

ljun

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库表里的字段‘性别’是true/false 类型的,我希望在在dbcombobox
和dbgrid 中显示的时候,表里true的以男显示,false的以女显示,
请问该怎么实现?
 
你用的是什么数据库???
可以在Sql里进行转换
 
定义一个计算字段,写
OnCalcFields事件
 
用select 转换如case ...when .. then .. end
 
to:yeath
我用的就是SQL数据库,请问在那转换啊?说的详细点啊
 
可以在语句中加入case when then end语句;
例如
select case
when sex then '男'
when not sex then '女'
end as sex from ....

 
select case 性别 when true then '男'
when false then '女'
end from 你的表名。
 
同意楼上的
 
这个问题说了真的很多了。自己找一找
 
昨天回了一个帖子后就上不来了,多谢各位发言。
我想再问一下,这个用代码写我以前也试过,我想
说的是在数据库里能不能改啊?
 
to:yeath
我说的是在数据库里能不能改啊?
 
这个语句 不是在你的数据库写的,是写在你的Query里(就是Sql语句)
 
还有我想问一下,写SQL语句,如果我没用到query而用table那是不是就
不能实现转换了。
 
就是在query里实现的。
query1.sql.clear;
query1.sql.text := 'select case 性别 when true then ''男''
when false then ''女'' end from 你的表名';
query1.open;
再把你的Datasource关联到query里。
 
to:yeath
谢谢你的多次回复,没有其他办法了嘛?应为我用到了
Table1.Filter, Table1.Filtered来过滤数据,而只有
1个Datasource和1个dbgrid。
 
如果要实现我的功能,是不是我的过滤数据的代码不用Table1.Filter, Table1.Filtered
也要用select语句实现,而把Table去掉不用??请问是不是一定要这样。
 
另外再用个 query 来做。

添加字段的 query
alter table add xb char(2)
 
你用sql请问,当然要用query了,query操作比较灵活,还是用query吧!!!
 
你用sql请问---->你用Sql语句
 
后退
顶部