新手求救,数据表里的字段为数字,如何在dbgrid里对应字段显示汉字

babytong 2002-09-19 03:03:37
例如:
sex 字段为0或1.
0代表男,1代表女
如果在显示的时候显示数字代表的汉字
...全文
121 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
王集鹄 2002-09-19
  • 打赏
  • 举报
回复
这是显示的格式!
babytong 2002-09-19
  • 打赏
  • 举报
回复
伴水兄,可以了,多谢。我准备结帖了,顺便问一下,只能按照你给的那个格式来定义数据么?
babytong 2002-09-19
  • 打赏
  • 举报
回复
伴水兄你的方法我试过了
在open以后,它似乎只取一次值,显示所有的性别都是男或女
王集鹄 2002-09-19
  • 打赏
  • 举报
回复
//我的方法有什么问题?你调试过没有?
procedure TForm1.ADOQuery1AfterOpen(DataSet: TDataSet);
begin
TNumericField(DataSet.FieldByName('性别')).DisplayFormat := '<正数>;<负数>;<零>';
end;

//'<正数>;<负数>;<零>' //就不多说了,实际可以说明一切
babytong 2002-09-19
  • 打赏
  • 举报
回复
伴水兄,我下面这样写对不对,我在dbgrid里看到全部都是一个性别女
if DataSet.FieldByName('per_sex').Value=1 then
TNumericField(DataSet.FieldByName('per_sex')).DisplayFormat := '女'
else
TNumericField(DataSet.FieldByName('per_sex')).DisplayFormat := '男';
zdcnow 2002-09-19
  • 打赏
  • 举报
回复
Select 性别 = Case sex WHEN 0 THEN '男'
WHEN 1 THEN '女'
ELSE '不男不女,哈哈'
END
from TableName
王集鹄 2002-09-19
  • 打赏
  • 举报
回复
procedure TForm1.ADOQuery1AfterOpen(DataSet: TDataSet);
begin
TNumericField(DataSet.FieldByName('性别')).DisplayFormat := '女;女;男';
end;
ldwlqy 2002-09-19
  • 打赏
  • 举报
回复
Select t1.sex,t2.name from t1,t2 where t1.sex=t2.id
t1
sex
0
1
0
0

t2
id name
0 男
1 女

结果
sex name
0 男
1 女
0 男
0 女

如果有多个字段要转换,用join

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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