我有两个窗体,第一个窗体是一个MDI子窗体,上面有ADOConnection,ADOQuery,DataSource三个组件,ADOConnection的connectingstring属性是动态生成的。这个子窗体也是动态生成的。在这个窗体上有一个查询按钮,点击以后出现一个新窗体(不是MDI的,我用showmodal显示的)。在这个showmodal出来的窗体上我引用此前的MDI窗体上的ADOQuery会报错,请问怎么解决??????
急!!!!!谢谢各位高手,不知道我说得清楚不清楚。

解决方案 »

  1.   

    在第二个form里use一下第一个form
      

  2.   

    建立一个data module然后把你的数据库组件放到这上面
      

  3.   

    以前发觉一个问题,和你的情况差不多
    你是不是这样写的?
    try
      frm.ShowModal;
    finally
      frm.free;
    end;我是这样解决的:
    只写  frm.ShowModal;
    然后在frm.OnClose事件写
    action:=cafree;或者象月亮说的用个DataModule
      

  4.   

    放在DataModule里说我没有授权什么什么的~~~ 
      

  5.   

    那是因为connectingstring没有值吧?
    在Datamodule初始化它的值
      

  6.   

    最好再建一个ADOQUERY传进来。或者用DATAMODULE
      

  7.   

    问题基本解决,可是又出现了如下报错
    “ADO_Q_T(这是我的ADOQuery组件):Type:mismatch for filed T_FKRQ(我表中的一个字段,Datetime型),expecting string, actual:Datetime”这是怎么回事????
      

  8.   

    解决了,哈哈,双击ADOQuery出来个小窗口,我把里面添加上字段了,全删了就好了
    谢谢各位的帮助
    我爱CSDN,我爱你们。