adoconnection 和adoqry 都在datamodule 里。
form1 的buttonedit click ,生成form2, 在form2里更改adoqry的内容。
form2都是用dbedit组件显示adoqry的数据。
如果添加新记录buttonappend click,生成form2是没有问题的,但是点击buttonedit,
修改时就出错。提示missing adoconnection or missing connection string,
不明白这么回事,请帮忙解释一下。
buttonedit事件:
 dm.adoqry.Edit;
 form2:=tform2.Create(self);
 form2.dtp_rcrq.Date:=dm.adoqryrcrq.Value;//给datetimepicker 赋对应于adoqry的值
 form2.dtp_jyrq.Date:=dm.adoqryJYRQ.Value;
 form2.dtp_sqrq.Date:=dm.adoqrySQRQ.Value;
try   form2.ShowModal;
 except form2.Free;
 end;
buttonappend事件:
dm.adoqry.append;
 form2:=tform2.Create(self);
 try   form2.ShowModal;
 except form2.Free;

解决方案 »

  1.   

    有可能是adoqry的SQL属性没有赋值,为空,可能showmessage(adoqry.sql.text)看一下
      

  2.   

    如果都是DBEDIT,那你就可以不用再手工赋值了,
    另外建议写成try....finally..end;形式的
      

  3.   

    missing connection string//既然miss了,就加上么,我想你可能没连上。
    不管用adoconnection或connectionstring ,你要确保连上数据库了才行
      

  4.   

    新建的时候,connectionstring没有赋值。
      

  5.   

    adoconnection 和 connection string 都有的,不然在append的时候怎么会没有错误呢?
    sql也有的。
    to:Tensionli:虚心请教try....finally ....end; 与 try ...except ...end;有什么区别?
      

  6.   

    try....finally ....end:不管上面执行什么,finally 里面都会执行
    try ...except ...end:只有try里面出错了,才会执行except 里面代码
      

  7.   

    谢谢!但是我的missing connection or connectionstring 的问题还是搞不懂怎么回事?
    请教高手指点啊!3x!
      

  8.   

    append只能说明 dm.adoqry的连结没有错
    dm.adoqrySQRQ,adoqryrcrq等这些可能有联结有问题
      

  9.   

    看看你的adoqry的SQL属性的SQL语句。
    和你运行时的SQL语句咯。拿来看看咯
      

  10.   

    form2.dtp_rcrq.Date:=dm.adoqryrcrq.Value;//给datetimepicker 赋对应于adoqry的值
     form2.dtp_jyrq.Date:=dm.adoqryJYRQ.Value;
     form2.dtp_sqrq.Date:=dm.adoqrySQRQ.Value;这里出错了..
    哪有这样去字段值的呀???
    form2.dtp_rcrq.Date:=dm.adoqryrcrq.fieldValues['字段名'];
      

  11.   

    把你form2中的更新数据库的代码贴出来你在form1中edit在form2中post,那肯定就有问题了