不是取值,是取名。
我做了一个函数,用来判断某个字段不能为空。我打斜杠的那句是要取出内容为空的字段名,可是把所有的都给取出来了,请教各位,怎样取出我想取的那个字段名?谢谢!!
procedure notempty(DSName:Tdatasource;Fname:string);
var
  curFname:string;
begin
  if DSName.DataSet.FieldByName(Fname).asstring = '' then
    begin
      //curFname:=DSName.DataSet.FieldList.GetText;
      messagedlg(curFname+‘不能为空,请输入信息!’, mtconfirmation, [mbOK], 0);
      abort;
    end;end;

解决方案 »

  1.   

    var i:integer;g:string;
    begin
    for i:=0 to table1.FieldCount-1 do
    g:=g+table1.Fields.Fields[i].FieldName;
    showmessage(g);
      

  2.   

    1、奇怪,你的参数Fname不就是你所以要的字段名吗?
    messagedlg(Fname+‘不能为空,请输入信息!’, mtconfirmation, [mbOK], 0);
    这样就可以嘛。2、可以用fieldname这个属性。 WWWWA(aaaa) 所说的。
      

  3.   

    怎么不这样写:
    DSName.DataSet.FieldByName(Fname).isnull
      

  4.   

    应该这样取:
    curFname:=DSName.DataSet.FieldByName(Fname).DisplayName;
      

  5.   

    curFname:=DSName.DataSet.FieldByName(Fname).DisplayName;