扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
分析字段定义
下一步取决于最终用户。为了选择特定的表,显示可用字段,最终用户必须双击 ListBox 控件中的表。这将激活一个事件处理程序,该程序采用 ListBox 中的表名,并为该表检索元数据。从元数据来看,您必须使用字段名的列表,将它们放置在第二个列表框 TCheckListBox 中。
为了做到这一点,您可以使用 TSQLDataSet 组件,将 CommandType 设置为 ctTable,并将 CommandText 设置为从第一个 TListBox 控件中选定的表的名称,该表可以在 ListBox1.Items[ListBox1.ItemIndex] 中找到。然后,一定不要激活(或者打开) TSQLDataSet,这一点很重要,因为它会将 select * 从您选定的表名发送到数据库,在此时,这项操作并不是您想要的。您应该调用 TSQLDataSet.FieldDefs.Update 方法,该方法只为字段定义检索元数据,没有为选定的表本身检索实际记录数据。
使用该字段定义元数据,您就可以遍历单独的字段定义,将字段的名称放置在 TCheckListBox 中(您还可以包括该字段的类型,但是,该类型您在下一步中才会用到,即,在为选定的字段创建适当的数据感知控件时才会用到)。
检索字段定义并更新 TCheckListBox 的源代码片段如下所示:
|
注意,在添加新的字段名之前,应该清除 TCheckListBox,这样,最终用户就可以连续双击不同的表名,查看每次出现在 TCheckListBox 表中的新的字段列表。
以下截屏显示了第一次双击位于表单左边 TListBox 中的 EMPLOYEE 表的效果,然后,可以检查复选框,获得位于表单右边的 TCheckListBox 表中的前 11 个字段。
下一步是生成 SQL 语句,只选择指定表(本例中是 EMPLOYEE)中复选的字段,然后在数据格以及数据感知控件中显示结果。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者