我有这些表格在我的MySQL数据库中:
我想在DBGrid中显示employee表和job.jobName,并允许用户进行编辑(也许使用DBNavigator)。因此,我创建了一个带有SELECT ... JOIN查询的ADOQuery、一个DataSource并将DBGrid DataSource链接到它。
一切都能够正常工作,但是我想要一个显示JobNames的Job字段,通过组合框选择它并设置它在employee.JobId中的id。就像这样:
我以为可以使用ADOQuery中JobId字段的LookupKeyFields/LookupResultFields属性来实现它,但事实上它对我没有用。
我添加了一个ADOTable,它只从作业表中加载所有内容,并设置了JobId字段(在ADOQuery中)的属性:FieldKind = fkLookup,KeyFields = JobId,LookupDataSet = tblJob,LookupKeyFields = IdJob,LookupResultFields = JobName。
但现在Job列为空,并且没有组合框。
此外,我在DBGrid列中找到了PickList属性,但它是TStrings,因此仅允许显示字符串,而不是单独显示字符串和值。即使我尝试为string字段(LastName)填充它,它也没有起作用。
我想在DBGrid中显示employee表和job.jobName,并允许用户进行编辑(也许使用DBNavigator)。因此,我创建了一个带有SELECT ... JOIN查询的ADOQuery、一个DataSource并将DBGrid DataSource链接到它。
一切都能够正常工作,但是我想要一个显示JobNames的Job字段,通过组合框选择它并设置它在employee.JobId中的id。就像这样:
我以为可以使用ADOQuery中JobId字段的LookupKeyFields/LookupResultFields属性来实现它,但事实上它对我没有用。
我添加了一个ADOTable,它只从作业表中加载所有内容,并设置了JobId字段(在ADOQuery中)的属性:FieldKind = fkLookup,KeyFields = JobId,LookupDataSet = tblJob,LookupKeyFields = IdJob,LookupResultFields = JobName。
但现在Job列为空,并且没有组合框。
此外,我在DBGrid列中找到了PickList属性,但它是TStrings,因此仅允许显示字符串,而不是单独显示字符串和值。即使我尝试为string字段(LastName)填充它,它也没有起作用。