以前用VB,现在开始学DELPHI,在设计一个数据库程序时,我没用DELPHI自带的数据库绑定控件,而用的是普通非数据库绑定控件,与数据的连接都采用手工来实现,我觉得这样具体更大的灵活性(我一惯的方法),当我用MOVENEXT、MOVEFIRST、MOVEPREVIOUS、MOVELAST等移动记录后,调用一个SHOWREC函数将记录中的数据显示出来,但它只显示第一条记录,我检测到记录号是在移动的,怎么记录中的字段值没反映出来呢,在VB中很好使的啊,各位教教我。

解决方案 »

  1.   

    既然没绑定,Delphi怎么知道你的记录指针在移动呢?
    当然要这样 edt.text := adoquery1.fieldbyname('yourfield').asstring (举例)
      

  2.   

    Delphi中用NEXT,FIRST,Prior和LAST
    你是怎么样读取字段值的
      

  3.   

    我在showrec函数是用
    txtxm.Text:=trim(dm.adqJB['姓名']);
    cmbXB.Text:=trim(dm.adqJB['性别']);
    等方法显示数据库,这跟绑定难道不行吗。
      

  4.   

    建议你在数据源的AFTERSCALL事件中调用显示数据的函数,这样只要数据集一滚动,显示的数据就会跟着滚动的,那你只要关心你的移动命令是否真的移动的数据
      

  5.   

    按xiao0101的方法我实现了,但我有点不懂,如果按字面理解adoquery.recordset.movefirst这样的语句是正确的呀,记录号移动了,但内容没变。
    严重郁闷!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      

  6.   

    adoquery.next;
    这样就可以了