请教有关ado的recordset问题 (300分)

  • 主题发起人 主题发起人 chenxz
  • 开始时间 开始时间
C

chenxz

Unregistered / Unconfirmed
GUEST, unregistred user!
在delphi中调用recordset.fields[0].value是没问题的,但在bcb6中调用
recordset->Fields->Item[0]->Value就报了一个错。说是“[Link Error]Unresolved external
'system:: __linkproc__fastcall CheckAutoResult()' refrerence from ../lib/release
/vcle.lib|syssupp”
我知道是说没有解析到checkautoresult这个函数,但为什么会这样,什么原因,并怎么解决
 
BCB中
recordset->fields[0]->value
 
楼上的有没有试过啊,按你那样的话,编译是通不过的。因为value is not a member of fields
 
chenxz Delphibbs C++Builder专家
你是不是陈锡震你?
流氓,浑到这里了。老黄现在怎么样?
 
sungood?
哪位神仙啊,老黄在厦门啊,还活着。
 
在CB里TFields的用法是:
Fields->Fields[0]->Value;
 
to Sachow:
拜托先自己测试一下再贴出来,这个是不对的。
“E2316 'Fields' is not a member of 'Fields'”
修改成Fields->Field[0]->Value也一样。
 
Fields是一个集合(oleEmun),是不是应该为
Fields[0].value
 
麻烦,很久没有使用BCB了,应该简单的。
 
To chenxz: 抱歉,先前是用手打的,少打了一个's'
ADODataSet1->Fields->Fields[0]->Value = "AAA";
纠缠这个笔误也忒那个点了吗?
 
不好意思[8D]
你好像没看清楚我的问题啊,我提问的是recordset哦,而不是ADODataSet。
就是可以理解为ADODataSet1->Recordset->Fields->???
现在我的问题就是如果使用了ADODataSet1->Recordset->Fields->Item[0]->Value
编译时(在linking时报错,也就是说不是语法的问题了)就通不过了。
如果有其他方法取出recordset中的值也可以。
 
悟空果然高明!竟然能找出这样的问题,可能是VCL封装的问题吧,不知要引用哪个单元
才行?
一定要这样用吗?
 
to Sachow:
我现在是利用别人用vb写的一个dll,函数调用返回的类型是Recordset,所以我要用这个,
不知道还有没有别的方法可以做到,难道我要用vb写这个程序吗?
总的感觉是bcb对下的兼容性很差,我以前的一个bcb5程序升级到bcb6后,bde.hpp老是
报一个错误,必须修改其中两个函数中的参数类型(从longint-》system::longint),
不知道下个版本会不会改善。
 
不妙啊,有点像要在一个DLL里返回TDataSet给VB用的意思,实在不行的话还是用VB写吧:(
如果找到办法的话请告知一声,大家一起分享一下。
如果CB的一下个版本就是传说中的要用C++重写类库的版本的话,只怕向下兼容性暂时还
会更差!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
495
import
I
后退
顶部