设置断点跟踪代码qrytmp.fieldvalues['name']的值
监视器中显示其值为'KA1234'
而数据库中是实际值为'晋A1234'strTmp:=qrytmp.fieldvalues['name'];
监视器查看strTmp的值是'晋A1234'难道是用qrytmp.fieldvalues['name']这个Variant类型的值在监视器中显示不准确? 

解决方案 »

  1.   

    转换成string类型试一下,或者直接用qry1.FieldByName('name').AsString试一下
      

  2.   

    没有问题啊showmessage(qrytmp.fieldvalues['name']);看看不推荐用这个,因为会有null的情况,用AsInteger,AsString ...就可以把null变成''或者0了,好处理些
      

  3.   

    我不是在问该如何处理,是在问为什么会这样呢?
    为什么监视器监测到的qryTmp.fieldValue['']跟实际值不一致!
    希望大家正面回答一下啊
      

  4.   

    如果是游标的问题,那么
    strTmp:=qrytmp.fieldvalues['name'];
    监视器查看strTmp的值就不会是'晋A1234'了
      

  5.   

    也就是说监视器查看
    qrytmp.fieldvalues['name']的值是'KA1234'
    qrytmp.fieldbyname('name').asstring的值是'晋A1234'
      

  6.   


    qrytmp.fieldvalues['name']是Variant类型,我在那看了下,是能显示汉字,那就不懂了。
      

  7.   

    case5166
    是直接赋值测试的,而不是从数据库中读取字段值的。你怎么就说是版本的问题呢?