ADOQuery1的属性Active设为True是出错"ADOQuery1:Missing SQL property."

解决方案 »

  1.   

    我的代码是:
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear ;
    ADOQuery1.SQL.Add('Select max(corp_no) from zfb_unit_no');
    if ADOQuery1.recordcount>0 then
    edit2.text := ADOQuery1.fieldbyname('corp_no').AsString ;
    ADOQuery1.open;
    if ADOQuery1.recordcount<=0 then
    edit2.text :='0001' ;
      

  2.   

    AdoQuery1的属性SQL没有写Sql语句
    所以Active=True出错"ADOQuery1:Missing SQL property."
      

  3.   

    如果你的代码是上面那样的,你的代码确实有问题的;ADOQuery1.Close;
    ADOQuery1.SQL.Clear ;
    ADOQuery1.SQL.Add('Select max(corp_no) from zfb_unit_no');
    if ADOQuery1.recordcount>0 then   
    ////你的ADOQuery1这是还没有打开,无法得到RecordCount的值;
    edit2.text := ADOQuery1.fieldbyname('corp_no').AsString ;
     //问题同上,而且不能通过FieldByName('corp_no') 去访问它,
     //除非你的sql语句换成:  Select max(corp_no) corp_no from zfb_unit_no
    ADOQuery1.open;
    if ADOQuery1.recordcount<=0 then
    edit2.text :='0001' ;
      

  4.   

    运行期代码怎么会在设计期起作用呢?如果你在Object Inspector中,把sql语句写到 Adoquery1的sql属性中就可以了。
      

  5.   

    对,在Object Inspector中静态设置以后,再动态添加代码应该就没问题了