主、从表有关问题

主、从表问题
adoquery1为主表,adoquery2为从表
adoquery1.sql :select 姓名,身份证 from A
adoquery2.sql :select * from B where 身份证=:身份证

这时没有问题
然后
adoquery1.sql :select 姓名,年龄 from A
adoquery2.sql :select * from B where 姓名=:姓名

提示,身份证 未找到。

怎么办呀?


------解决方案--------------------
提示,身份证 未找到。 

怎么办呀? 

很明显,你得adoquery2的附属条件没有改变

先关闭adoquery2,再关闭adoquery1,然后在
adoquery1.sql :select 姓名,年龄 from A 
adoquery2.sql :select * from B where 姓名=:姓名
------解决方案--------------------
那就把datasource先置为nil,adoquery1设置完后再把datasource设置回去
------解决方案--------------------
也可以试试把adoquery2的参数先清空
ADOQuery2.Parameters.Clear
------解决方案--------------------
adoquery1为主表,adoquery2为从表 
adoquery1.sql :select 姓名,身份证 from A 
adoquery2.Parameters.Clear; // 增加
adoquery2.sql :select * from B where 身份证=:身份证 

这时没有问题 
然后 
adoquery1.sql :select 姓名,年龄 from A 
adoquery2.Parameters.Clear; // 增加
adoquery2.sql :select * from B where 姓名=:姓名