这样应该怎么写才正确呀?

这样应该如何写才正确呀??FJB 表结构ID(自动编号)TYPE1AAA2BBB3CCCZK 表结构ID(自动编号)TYPEID(就是FJB的

这样应该如何写才正确呀??
FJB 表结构
   ID(自动编号)    TYPE
   1             AAA
   2             BBB
   3             CCC


ZK 表结构
     ID(自动编号)    TYPEID(就是FJB的ID字段)     NAME
    1                 1                      产品1
    2                 2                      产品2
    3                 3                      产品3 
    ...



但我下面代码运行时候说什么表达式不匹配,如何写才正确呢?
==================================================
  DataModule2.ADOQuery1.Close;
  DataModule2.ADOQuery1.SQL.Clear;
  DataModule2.ADOQuery1.SQL.add(SELECT * FROM FJB A,ZK B WHERE A.ID=ZK.FJID AND A.ID='+TMPFJBH); //按ID查询
  DataModule2.ADOQuery1.open;
  DataModule2.ADOQuery1.Edit;
  DataModule2.ADOQuery1.FieldByName('TYPE').AsString:=Edit1.text;
  DataModule2.ADOQuery1.FieldByName('NAME').AsString:=Edit2.text;
  DataModule2.ADOQuery1.Post;
  ShowMessage('修改成功!');
================================
[解决办法]
  DataModule2.ADOQuery1.SQL.add(SELECT * FROM FJB A,ZK B WHERE A.ID=ZK.FJID AND A.ID='+TMPFJBH); //按ID查询

//ZK表哪里有FJID字段,不是TYPEID吗?
[解决办法]
 DataModule2.ADOQuery1.Close;
  DataModule2.ADOQuery1.SQL.Clear;
  DataModule2.ADOQuery1.SQL.add(SELECT * FROM FJB A,ZK B WHERE A.ID=ZK.FJID AND A.ID='+TMPFJBH); //按ID查询
  DataModule2.ADOQuery1.open;
  DataModule2.ADOQuery1.Edit;
  DataModule2.ADOQuery1.FieldByName('TYPE').AsInteger:=strtoint(trim(Edit1.text));
  DataModule2.ADOQuery1.FieldByName('NAME').AsString:=Edit2.text;
  DataModule2.ADOQuery1.Post;
  ShowMessage('修改成功!');