在程序中用ADODATASET连接了数据库的一个表,如何在程序中判断这个数据集中的字段哪些是不可以为空的?(不是判断字段中的值是否为空)
不想到数据库中查找表的字段属性,只想在程序中对数据集进行判断。
很急!!请各位帮忙!!

解决方案 »

  1.   

    很好做的,如果是用TAdoTable的话,使用Fields属性
       for i := 0 to Table1.FieldCount - 1 do
       begin
          if (Table1.Fields[i].Required == true) then
          begin
             //这个字段不允许为空,,在这里作你的事情
          end;      if (Table1.Fields[i].CanModify== true) then
          begin
             //这个字段不允许修改,比如是自增字段
          end;
      

  2.   

    主要是用TDataSet的Fields字段列表中的属性,就可以作判断了
      

  3.   

    TO:do2008
    有试过用Required属性来判断,但好像所有字段的该属性都是FALSE,不知道为什么?
    可以再回答我吗?谢了。
      

  4.   

    保存时,捕获一下错误代码,如果数据库中不能为空,SQL返回的错误代码是……
      

  5.   

    >>有试过用Required属性来判断,但好像所有字段的该属性都是FALSE,不知道为什么?
    你的代码是怎么写的,或者你检查一下你的数据表结构
    如果一个数据表的字段,是不允许为空,如关键字段,或者是一些别的字段
    那这个字段的Required属性,就为true;如: id是表的关键字段if (AdoTable.FieldByName('id').Required == true)
    begin
      //字段不允许为空
    end;
      

  6.   

    数据集连接的表格是WWDBGrid,会有影响吗?
    直接拿DATASET.Fields[i].Required来判断也是一样。
    表中的字段有允许为空的,也有不允许为空的。
    但都一样是FALSE