第一次用Delphisql:='select max(kw) as A from max_kw where yh_id ='H00001' and date like '''+'*4-18*'+'''';
          DM.DataModule1.ADOQuery1.Close;
          DM.DataModule1.ADOQuery1.SQL.Clear;
          DM.DataModule1.ADOQuery1.SQL.Add(sql);
          DM.DataModule1.ADOQuery1.open ;
          max_data:=DM.DataModule1.ADOQuery1.FieldByName('A').AsString;请问各位高人,max_data为什么取不到值?SQL语句在数据库运行是有结果的,数据库为Access

解决方案 »

  1.   

    str :='select max(kw) as A from max_kw where yh_id =''H00001'' and date like '''+'*4-18*'+'''';H00001左右分别加多一个'
      

  2.   

    判断一下
    if DM.DataModule1.ADOQuery1.IsEmpty then ShowMessage('记录是空啊!')
      

  3.   

    添在这句上面?
    max_data:=DM.DataModule1.ADOQuery1.FieldByName('A').AsString;
      

  4.   

    不是空的,取到的是null
    但是相同的SQL语句复制到Access里运行时是有记录的呀
      

  5.   

    sql:='select max(kw) as A from max_kw where yh_id ='H00001' and date like '''+'*4-18*'+'''';
              DM.DataModule1.ADOQuery1.Close;
              DM.DataModule1.ADOQuery1.SQL.Clear;
              DM.DataModule1.ADOQuery1.SQL.Add(sql);
              DM.DataModule1.ADOQuery1.open ;
    if DM.DataModule1.ADOQuery1.IsEmpty then ShowMessage('记录是空啊!')
    //我的意思是放在这里看是不是有SHOW东西出来
              max_data:=DM.DataModule1.ADOQuery1.FieldByName('A').AsString; 
                       //DM.DataModule1.ADOQuery1.Fields[0].AsString; 这样试试!
      

  6.   

    试过了
    没有东西秀出来
    但是相同的SQL语句复制到Access里运行时是有记录的
    程序执行时只取到Null
      

  7.   

    你的KW是什么类型的?晕,是不是ACCESS的数据库比较毛啊
      

  8.   

    是int,应该不会阿
    按道理说不应该这样的
    Access虽然有点傻,但是不至于发神经的
    估计还是语句里有问题
      

  9.   

    最简单的语句去测试:sql:='select max(kw) as A from max'
      

  10.   

    可以取到数字……难道加一个限定条件就不行了吗?
    SQL语法是没有问题的呀
      

  11.   

    我Show出来是
    select max(kw) as A from max_kw where yh_id ='H00001' and date like '*4-18*'不知道like '*4-18*'是不是应该是like '*[4-18]*'呢?
      

  12.   

    select max(kw) as A from max_kw  where yh_id ='H00001' and date like '*4-18*'
    在Access里直接点运行立刻就出结果了……
      

  13.   

    sql := 'select max(kw) as A from max_kw  where yh_id =''H00001'''
    呢,排除法啊
      

  14.   

    sql := 'select max(kw) as A from max_kw  where yh_id =''H00001'''
    我试过,是可以的
    我不明白的就是最后那个条件错在哪里
    我Access用蛮久了一直这样写
    在别的环境里没出过类似的情况
    最近刚开始用delphi
    比较笨
      

  15.   

    Access我也没用过,你这个条件再慢慢调试吧,反正可以取到值就行了!