ADO问题(如果银行也这样就惨了!!!)(50分)

  • 主题发起人 主题发起人 whogo
  • 开始时间 开始时间
W

whogo

Unregistered / Unconfirmed
GUEST, unregistred user!
我用ADODB.RECORDSET做内存表,放入数据后居然无法读出来,请各位大虾多多指教。
代码如下:
VAR
rs:Variant;
BEGIN
rs:=CreateOleObject('ADO.RECORDSET');
rs.fields.append('fld',$00000081,5,$00000004);
rs.cursortype:=$00000001;
rs.locktype:=$00000003;
rs.open;
rs.fields('fld')='abcde';
rs.update;
rs.movefirst;
//就是下面这条语句出错,弹出对话框:"无效索引"
edit1.text:=rs.fields('fld');
rs.close;
END;
 
很奇怪的是,在VB里就可以这么用,但是在Delphi中
只能rs.fields(FieldIndex); FieldIndex为字段顺序.
我以前用DAO对象的时候也是出现这种错误.后来干脆
现在本地建一个字段顺序的数组,然后用re.Fields(0)
的形式去操作了.
 
我试过,rs.fields(0)也不行,出现同样的错误.
 
maybe it like this:
rs.fields('fld').asstring

 
rs.fields[x].asstring//x:integer
rs.fieldbyname(x).asstring//x:string
 
rs.fields('fld').asstring ='abcde';
......
edit1.text:=rs.fields('fld').asstring;
......
//还别忘了释放 rs 哦。
 
首先,谢谢各位富翁的热情帮助,持别是dcsdcs,你给出了正确方法,谢谢!!!
最后结论:
edit1.text:=rs.fields['fld'];
 
多人接受答案了。
 
后退
顶部