新手,请多关照。
我以前用C,PHP等,处理这个问题很容易,刚接手做一个数据库客户端,只好用不熟悉的DELPHI:如果DBField是字符型用 
  if(字段名称.Value = '')then
就可以了
如果是int,或float型怎么办?

解决方案 »

  1.   

    用vartostr转换先,例:  if (VarToStr(ADOQuery_title['in_code'])='') then
      begin
        showmessage('....不可以空。');
        DBEdit_code.SetFocus;
      end
      

  2.   

    //通过TDataSet.OnBeforePost事件procedure TForm1.ADOTable1BeforePost(DataSet: TDataSet);
    begin
      if DataSet.FieldByName('字段名称').AsString = '' then begin
        { TODO : 这里处理 }
      end;
    end;
      

  3.   

    谢谢zswang  问题解决
    有没有更简单的方式,
    如:
    怎样判断一个int 变量是否赋值?
      

  4.   

    我认为既然这个数据是添进去的可以通过判断填入数据的控件的值,何必非要用DBField呢?
      

  5.   

    procedure TForm1.ADOTable1BeforePost(DataSet: TDataSet);
    begin
      if (VarIsNull(DataSet.FieldByName('字段名称').Value) or VarIsEmpty(FieldByName('字段名称').Value) then begin
        { TODO : 这里处理 }
      end;
    end;
      

  6.   

    if ado1.Fields[1].IsNull then .... else ...