首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >firedac主-详细关系不起作用

firedac主-详细关系不起作用
EN

Stack Overflow用户
提问于 2016-04-20 15:09:33
回答 1查看 1.3K关注 0票数 0

数据库表的第一个定义:

代码语言:javascript
复制
CREATE TABLE UNCERTAINTY
(
  ID Integer NOT NULL,
  NAME Varchar(240) CHARACTER SET NONE NOT NULL,
  CONSTRAINT PK_UNCERTAINTY PRIMARY KEY (ID),
  UNIQUE (NAME)
);

CREATE TABLE UNCERTAINTYDETAIL
(
  ID Integer NOT NULL,
  UNCERTAINTY_ID Integer NOT NULL,
  MEASTYPE Varchar(255) CHARACTER SET NONE,
  CONDITION Varchar(255) CHARACTER SET NONE,
  POWERFACTOR Double precision,
  LOADTYPE Varchar(255) CHARACTER SET NONE,
  UNCERTAINTY Double precision,
  CONSTRAINT PK_UNCERTAINTYDETAIL PRIMARY KEY (ID)
);

ALTER TABLE UNCERTAINTYDETAIL ADD CONSTRAINT FK_UNCERTAINTY_UNCERTAINTYDETAI
  FOREIGN KEY (UNCERTAINTY_ID) REFERENCES UNCERTAINTY (ID) ON DELETE CASCADE;

现在在dfm文件中定义我的数据源和查询:

代码语言:javascript
复制
object FDQuery1: TFDQuery
  Connection = Connection1
  SQL.Strings = (
    'select * from UNCERTAINTY'
    'order by NAME')
  Left = 125
  Top = 239    
end
object FDQuery2: TFDQuery
  MasterSource = DataSource1
  MasterFields = 'ID'
  Connection = Connection1
  SQL.Strings = (
    'select * from UNCERTAINTYDETAIL'
    'where UNCERTAINTY_ID=:param1'
    'order by ID')
  Left = 456
  Top = 224
  ParamData = <
    item
      Name = 'PARAM1'
      ParamType = ptInput
    end>
end
object DataSource1: TDataSource
  DataSet = FDQuery1
  Left = 53
  Top = 239
end
object DataSource2: TDataSource
  DataSet = FDQuery2
  Left = 392
  Top = 224
end

两个数据源都连接到db网格。

在FormShow事件中,我调用以下方法:

代码语言:javascript
复制
FDQuery1->Open();
FDQuery2->Open();

主网格正确显示表中存储的所有项目,但详细信息网格始终为空。为什么?

EN

回答 1

Stack Overflow用户

发布于 2016-09-13 03:49:11

明细查询的参数应与MasterFields匹配。因此,将FDQuery2的param1更改为ID,以匹配值MasterFields。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36736317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档