DELPHI 7 用ADO里的ADOQUERY做主从表,总是报错

DELPHI 7 用ADO里的ADOQUERY做主从表,总是报错 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiDB/html/delphi_20061220215617197.html
exhiStr:='SELECT   a.enterpid   as   enterpid,   a.enterpname,   a.enterpaddr,   a.enterpzip,   a.enterptel,   a.enterpfax,   '   +  
                  'a.enterpemail,a.enterpweb,a.enterptype,   a.enterpsize,   a.enterpnature,   a.enterpmemo,   a.prid,   '   +  
                  'a.prname,   a.cldid,   a.cldname,   a.personid,   a.personname,   a.personjobs,   b.prjenterpid,   b.prjid,   '   +  
                  'b.userid,   b.enterpimp,   b.prjenterpinsdate,   b.prjenterpupddate,   b.personmain,   c.prjname'   +  
                  '   FROM   venterpandperson   a,   prjenterpinfo   b,   projectinfo   c   '   +  
                  '   WHERE   (((a.enterpid   =   b.enterpid)   AND   (b.prjid   =   c.prjid))   AND   (a.personid   =   b.personid))';  
          RzDBGrid1.DataSource:=DM.DSListEnterp;  
          {DM.DSListEnterp.DataSet:=DM.DQListEnterp;}  
          DM.DQListEnterp.Close;  
          DM.DQListEnterp.sql.clear;  
          DM.DQListEnterp.SQL.Add(exhiStr);  
          DM.DQListEnterp.Open   ;  
          {enterpStr:=;}  
          DM.DQenterpmore.DataSource:=DM.DSListEnterp;  
          DM.DQenterpmore.Close;  
          DM.DQenterpmore.SQL.Clear;  
          DM.DQenterpmore.SQL.Add('select   enterpid,enterpname   from   enterpinfo   where   enterpid   =:enterpid');  
          DM.DQenterpmore.Prepared   :=true;  
          DM.DQenterpmore.Open;  
   
  上面这样的代码,总是报parameter   object   is   improperly   defined的错误

请问是什么原因导致的这样的错误呢?

没有人碰到过这种情况吗.

主从表不是这样做的,Delphi的Demo中有例子,可先看看

你的错误在这一行,设置了:enterpid参数,却没给参数赋值,就打开Query,所以报错了  
   
  DM.DQenterpmore.SQL.Add('select   enterpid,enterpname   from   enterpinfo   where   enterpid   =:enterpid');  
 

DEMO里是用ADODATASET来做的,用ADOQUERY不可以吗?

{DM.DSListEnterp.DataSet:=DM.DQListEnterp;}  
   
  老大,   这句话   为什么   注释掉?  
   
  拿掉后,   应该   就可以了。

我记得主从表很好做的,对ADOQUARY的SQL语句写完整后,设置一个主面一个从面就可以了

DM.DQenterpmore.SQL.Add('select   enterpid,enterpname   from   enterpinfo   where   enterpid   =:enterpid');  
  这句,设了参数,后面赋值

转载于:https://www.cnblogs.com/delphi2007/archive/2008/12/11/1352538.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值