请看以下程序:
FUNCTION UNSET_READ_SME  (LSTENO :STRING):STRING;
VAR QDBCHECK : TQUERY;
BEGIN
  TRY
    QDBCHECK := TQUERY.Create(APPLICATION.Owner); QDBCHECK.DatabaseName := 'MAIN';
    QDBCHECK.SQL.Clear;
    QDBCHECK.SQL.Add('SELECT * FROM SYSSME');
    QDBCHECK.SQL.Add('WHERE LSTENO = '''+LSTENO+'''');
    QDBCHECK.Close;
    QDBCHECK.Open;
    IF QDBCHECK.Eof = FALSE THEN RESULT := QDBCHECK.FieldByName('LSTMEM').AsString;
    IF QDBCHECK.Eof = TRUE  THEN RESULT := '';
  FINALLY
    QDBCHECK.Free;
  END;
END;
运行出现
    IF QDBCHECK.Eof = FALSE THEN RESULT := QDBCHECK.FieldByName('LSTMEM').AsString;中有错,错误是找不道‘LSTMEM’;

解决方案 »

  1.   

    请看以下程序:
    FUNCTION UNSET_READ_SME  (LSTENO :STRING):STRING;
    VAR QDBCHECK : TQUERY;
    BEGIN
      TRY
        QDBCHECK := TQUERY.Create(APPLICATION.Owner); QDBCHECK.DatabaseName := 'MAIN';
        QDBCHECK.SQL.Clear;
        QDBCHECK.SQL.Add('SELECT * FROM SYSSME');
        QDBCHECK.SQL.Add('WHERE LSTENO = '''+LSTENO+'''');
        QDBCHECK.Close;
        QDBCHECK.Open;
        IF QDBCHECK.Eof = FALSE THEN RESULT := QDBCHECK.FieldByName('LSTMEM').AsString;
        IF QDBCHECK.Eof = TRUE  THEN RESULT := '';
      FINALLY
        QDBCHECK.Free;
      END;
    END;
    运行出现
        IF QDBCHECK.Eof = FALSE THEN RESULT := QDBCHECK.FieldByName('LSTMEM').AsString;中有错,错误是找不道‘LSTMEM’字段;