希望能取出adoquery查询中的值
var
  tmp : Variant;
.
.
.
.
.
 adoquery.sql.add('SELECT abc FROM XYZ where efg =xxx ');
 tmp:=adoquery.fieldvalue['abc'];这样的方法可以么 
怎么一运行就出错

解决方案 »

  1.   

    用variant类型可以满足任何类型的要求 用来表示整型也可以吧
      

  2.   

    如果字段abc为字符串型则可以为
    tmp:=adoquery.fieldbyname('abc').asstring;
      

  3.   

    var
      tmp : Variant;
    .
    .
    .
    .
    .
     adoquery.sql.add('SELECT abc FROM XYZ where efg =xxx ');
     tmp:=adoquery.fieldByName('abc').asvariant;
      

  4.   

    你可以这样取值
    var
      tmp : Variant;
    .
    .
    .
    .
    .
     adoquery.sql.add('SELECT abc FROM XYZ where efg =xxx ');
     tmp:=adoquery.fieldbyname('abc').value;
    由于Value是Variant类型的,所以你的abc是什么类型都能取出来
      

  5.   

    关键是你没有打开QUERY
    adoquery.sql.add('SELECT abc FROM XYZ where efg =xxx ');
    adoquery.open;
     tmp:=adoquery.fieldbyname('abc').value;
      

  6.   

    adoquery.open;我已经写了 而且下断点就是执行这一句有问题 错误提示是"参数 xxx 没有默认值"  其中xxx为从另一个窗口取的一个string值
      

  7.   

    adoquery.sql.add('SELECT abc FROM XYZ where efg =''xxx ''');
    adoquery.open;
     tmp:=adoquery.fieldbyname('abc').value;
      

  8.   

    需要加入adoquery.excutsql;adoquery.open;
    要先执行sql语句,然后打开表才能找到数据啊
    最好这样写
    adoquery.close;
    adoquery.sql.clear;
    adoquery.sql.add('select abc from xyz where efg='''+xxx+'''');
    adoquery.excutesql;
    adoquery.open;
    tem:=adoquery.fieldvalue['abc'];
      

  9.   

    .value  .asstring  .asvariant 我都试过了 错误是一样的 但是参数xxx我已经在另一个窗口中赋值了
      

  10.   

    to jalu_515(马路)  我用了你说的语句 但还是在.open这里出现错误 错误提示:"参数 xxx  没有默认值"
      

  11.   

    你难道一点都…………,马路说的XXX是他事先定义的变量。是一个字符串型的变量
      

  12.   

    你不要什么XXX了直接写你的代码
    我觉得就是你用参数的时候的语法问题的