procedure TDM.SqlSelect5(TableName, FullName: string);                    
begin
  with DM.ADOQuery1 do
  begin
    Close;
    sql.Clear;
    SQL.Add('select typeid from '+TableName+ where FullName = '''+FullName+'''' ');
    Open;
  end;
end;我想得到查询出来的TYPEID值,但不想用变量去得到它,好像用函数可以,谁能帮我改下?谢谢

解决方案 »

  1.   

    function TDM.SqlSelect5(TableName, FullName: string): string;                    
    begin 
      with DM.ADOQuery1 do 
      begin 
        Close; 
        sql.Clear; 
        SQL.Add('select typeid from '+TableName+ where FullName = '''+FullName+'''' '); 
        Open; 
      end;   result := DM.ADOQuery1.fieldbyname('typeid').asstring;
    end; 这样?
      

  2.   

    function TDM.SqlSelect5(TableName, FullName: string): string;                    
    begin 
      with DM.ADOQuery1 do 
      begin 
        Close; 
        sql.Clear; 
        SQL.Add('select typeid from '+TableName+ where FullName = '''+FullName+'''' ');
        Open; 
        Result := FieldByName('typeid').asString;{返回查询到的第一条记录}
        Close;
      end; 
    end; {如果表是空的,怎么办?还要容错}
      

  3.   


    result 在别的单元引用不到啊
      

  4.   

    result 在别的单元引用不到啊
      

  5.   

    函数使用方法,你不知道吗?X := DM.SqlSelect5('ta', 'fi');另外需要在使用这句的单元里,uses DM;
      

  6.   

    在别的单元里加上你要引用的单元的名字就可以了
    在USE后面加。。