if not DataSet1.Fields[I].FieldName in ['Num', 'No', 'Date'...]
then 
  DataSet1.Fields[I].AsString := OldRec[I]

解决方案 »

  1.   

    if not(DataSet1.Fields[I].FieldName in ['Num', 'No', 'Date'...])add '('
      

  2.   

    if Pos(',' + UpperCase(DataSet.Fields[I]) + ',',
      ',NUM,NO,DATE,C_NO,U_NO,CHECK_NO,') <= 0 then
    //...
      

  3.   

    if (AA=1) and (AA=2) 不可能成立,应该
    if (AA=1) or (AA=2) 
    可以改成  if (aa in [1,2])
      

  4.   

    按大家的方法會出現 Error: Ordinal type required錯誤, 但我試過如果用數值型數據, 不會編譯出錯.
      

  5.   

    delphi的set元素类型只能为序数类型,当然编译出错了。
    你把这几个常量放在一个常量字符串数组里。然后,可以用一个循环遍历数组判断是否在数组中。
    或者你建一个Tstringlist把这些常量全ADD进去,然后用INDEXOF方法进行判断。
      

  6.   

    if Pos(',' + UpperCase(DataSet.Fields[I]) + ',',
      ',NUM,NO,DATE,C_NO,U_NO,CHECK_NO,') <= 0 then
    //...