我需要你的帮助来完成我的delphi作业。
我使用ms access数据库并使用sql显示1 dbgrid中的所有数据。我想显示相同的列,但有标准(每列50个记录) 我希望选择查询产生如下输出:
No | Name | No | Name |
1 | A | 51 | AA |
2 | B | 52 | BB |
3~50 | | 53~100| |
有可能吗?
答案 0 :(得分:0)
如果您选择返回具有重复列名称的数据集,我可以预见到问题。要解决此问题,您必须使用as
更改查询以强制使用严格唯一的列名称。例如......
select A.No as No, A.Name as Name, B.No as No2, B.Name as Name2 from TableA A
join TableB B on B.Something = A.Something
请注意,如果您使用TDBGrid
,则可以自定义列标题。在设计时右键单击网格控件并选择Columns Editor...
,将出现一个Collection窗口。添加列时,将其链接到FieldName
,然后为Title.Caption
分配值。这还需要您设置所有列。如果您未在此处定义任何列,则会自动返回查询中的所有列。
另一方面,SQL查询可能在输出中包含重复的字段名称,具体取决于您构造查询的方式。我知道这可以在SQL Server
中使用,但我对MS Access
不确定。无论如何,我建议始终返回具有唯一列名的数据集,然后自定义DB Grid的列标题。毕竟,还可以连接到excel电子表格,该电子表格很可能具有相同的列名称。当您尝试从其中一个列中读取以供其他用途时,问题就会到来。