关于DBGrid读数据库内容后重排的问题?

xz_fj 2002-12-28 10:14:30
向各位兄弟请教如何实现对数据库这样的读取:
如:
数据库结构
name size count
abc M 120
cde L 250
ufg S 300
abc S 210

在DBGrid显示为

标题-> 标号 S M L
abc 210 120
cde 250
ufg 200
并且要求DBGrid显示的、行列随数据库记录的增减而改变。
请问各位这应如何实现,有没有哪个第三方控件可以实现的,谢谢先!
...全文
27 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xz_fj 2003-01-01
  • 打赏
  • 举报
回复
这样是可以,我曾用过Group by实现,但在DBGrid上无法修改,更别说保存了,你的这个我测一下,可以马上给分,不过谢谢先!
xpyilin 2002-12-30
  • 打赏
  • 举报
回复
你没有说明所使用的数据库,我在DB2中可用如下方法:
SELECT DISTINCT NAME,
CASE SIZE
WHEN 'M' THEN COUNT
ELSE NULL
END AS M,
CASE SIZE
WHEN 'S' THEN COUNT
ELSE NULL
END AS S,
CASE SIZE
WHEN 'L' THEN COUNT
ELSE NULL
END AS L
FROM TESTTB
ORDER BY NAME
devie 2002-12-30
  • 打赏
  • 举报
回复
没有见过类似的第三方控键,你还是用StringGrid吧
wangxiangsjz 2002-12-29
  • 打赏
  • 举报
回复
SQL和DBGrid好像不行,干脆用StringGrid实现吧!
方法无非是三重循环,先判断现有的Grid中有无同标号的行,没有就加一行。有就再判断有无所需的Size,没有就加一列。有就把Count放到这一列。
xpyilin 2002-12-29
  • 打赏
  • 举报
回复
昨晚尝试了很长时间,没有结果,我想用SQL直接作出结果但是失败了。。。
但是这只说明我SQL不行,不能说明没有办法实现。。。没有用过第三方控件,但是对于这样的显示要求,我想用第三方控件实现也是蛮复杂的,呵呵。。。
xz_fj 2002-12-29
  • 打赏
  • 举报
回复
用StringGrid我已经测试过了可以实现,但的嫌它太麻烦,并且在保存修改很不好办,与数据库的感应必须全部用代码才能实现,兄弟们有没有碰过这种问题,有没有哪个第三方控件可以直接实现的?
wildhorse01 2002-12-29
  • 打赏
  • 举报
回复
学习
cmsoft 2002-12-28
  • 打赏
  • 举报
回复
这个写SQL就能实现了吧
xpyilin 2002-12-28
  • 打赏
  • 举报
回复
正在尝试,请楼主不要着急。。。:)
xz_fj 2002-12-28
  • 打赏
  • 举报
回复
请问有人回答吗?
分不够可以再加

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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