类型出错,不匹配,adoquery.fieldbyname('x').asstring of 或者用
adoquery.fieldbyname('x').asinteger of 试试

解决方案 »

  1.   

    首先应该了解x的取值。如果是整数请将它赋给整数变量(如 i:integer),如果是字符串,请转化成整数后赋给整数变量(i:integer).然后用case i ...
      

  2.   

    Case语句中的判断变量只能用序数类型(整形,字符,列举,布儿和集合类型等有次序的类型).
      

  3.   

    同意wolfAone(黑色的狼(WOLF))的说法,嘿嘿!
      

  4.   

    既然只能是0,1,你直接用asinteger不就结了。
      

  5.   

    用if .. then ... else
    语句吧,或者,你首先定义一个集合;
    不然,CASE...of 不能用
      

  6.   

    只有两个值:0,1 吧 为何不用  if adoquery.fieldbyname('x').AsInteger=0 then
        begin
          //---
        end
      else
        begin
          //---
        end;   而用Case 呢? 不明?
      

  7.   

    .value是variant型的变量,当然会出错
    用.asinteger就行了!!
      

  8.   

    定义一个变量:
    var
     i:integer;
    begin
     i:=adoquery.fieldbyname('x').value;
     case i of
      ...
     end;{case}   
    end;这样肯定没有问题
      

  9.   

    改为: 
      case adoquery.fieldbyname('x').AsInteger of
        case 0:......
        case 1:......
      end;
    因为Value是Variant型,而Case需要序数型,所以转成整型就行了