我动态生成一个SQL查询语句,语句为'select max(id) as aa form main',怎样将结果赋值给DBedit?因为我动态设置Dbedit1.datafield:='aa',他报错,请问如何解决这个问题。谢谢

解决方案 »

  1.   

    不对,还是错的。我不是使用的QUERY组件,使用的是SimpleDataSet组件。即使我照你的方法设了,他显示的只是main表中的第一个字段数据,而不是max(id)这个数据。
      

  2.   

    dbedit的datasource 属性设置了吗?
    先设置datasource 再设置datafield
      

  3.   

    WIth ADOQuery1 DO
    BEgin
    Close;
    SQL.Clear;
    SQL.Add(' SELECT MAX(bianma) as aa FROM ka_fl');
    OPen;
    dbedit1.DataField:='aa';
    没有问题的呀 是不是你的dbedit1.DataField:='aa'写的位置不对呢
    我刚刚试验的你在参考一下吧
      

  4.   

    angle097113(深思不解)  说得是呀,你仔细看看吧
      

  5.   

    Form2.SimpleDataSet1.DataSet.Active:=False;
    Form2.DBEdit1.DataField:='';
    Form2.DBEdit1.DataSource:=Form2.DataSource1;
    Form2.SimpleDataSet1.DataSet.CommandText:='select max(mainidexp) as aa from card_info where maindid='+''''+tmp+'''';
    Form2.SimpleDataSet1.Open;
    Form2.DBEdit1.DataField:='aa';代码如上,提示字段aa不存在。我是在Form7调用的。
      

  6.   

    ADODataSet1.Close;
      ADODataSet1.CommandText:='';
      ADODataSet1.CommandText:='SELECT  MAX(bianma) AS aa FROM ka_fl ';
      ADODataSet1.OPen;
      DBEdit1.DataField:='aa';
    没有问题的又测试了的 
    Form2.SimpleDataSet1.DataSet.CommandText:='select max(mainidexp) as aa from card_info where maindid='+''''+tmp+'''';
    这个语句就编译不过 dataset 应该去掉
    改为
    Form2.SimpleDataSet1.CommandText:='select max(mainidexp) as aa from card_info where maindid='+''''+tmp+'''';