用2个adoquery连接主从表,adoquery1连主表select id,zsh,dh from 表1,adoquery2连从表select id,mc from 表2 where id=:id,但为什么提示有误呢?提示说‘不正常的定义了参数对象,提供了不一致或不完整的信息’。

解决方案 »

  1.   

    要给adoquery2定义查询参数
    可以在属性面版里定义,也可以程序动态定义
    如果你不想用参数的话
    第二个sql语句就不应该用冒号,而是:select id,mc from 表2 where id= id
      

  2.   

    参数的类型为Iunkonow类型,不正确,如果需要自动给你生成,你可以这样做:
    1.先把adoquery2的SQL语句改为:select id,mc from 表2 
    也就是先去掉where条件
    2.把adoquery2激活,active:=true 然后在active:=false,这个过程系统会记忆SQL表的参数
    3.再把where条件加上where id=:id
    然后就不会有这个错误提示了
      

  3.   

    adoquery2的datesouce定义为指向adoquery1的datesouce1
      

  4.   

    改为如下:
    用2个adoquery连接主从表,adoquery1连主表select id,zsh,dh from 表1,adoquery2连从表select id,mc from 表2 where id=:Aid你产生的原因:
    因为参数与字段名重名了,同样如此,如果你在函数内部定义的变量如果和同函数内部的数据库字段重明的话,也会报错误
      

  5.   

    你产生的原因:
    因为参数与字段名重名了,同样如此,如果你在函数内部定义的变量如果和同函数内部的数据库字段重明的话,也会报错误................................................如果参数和字段名不同的话,能连成主从表吗?
    建议:在diagram页中定义tquery的主从关系!
      

  6.   

    在diagram页中定义,能否细说一下
      

  7.   

    因为你定义的参数id与数据库字段重名了,你的adoquery2应该改为:
    select id,mc form 表2 where id=:Aid这种重名是delphi不允许的。还有一种,比如你在过程定义了一个变量,这个变量如果和数据库字段重名也是不允许的