如何把ADO中FieldPtr和_RecordsetPtr联系起来

wangxi1240 2003-07-21 09:51:14
源码如下:

FieldPtr pcoursename;
_variant_t vcoursename;

::CoInitialize(NULL);
_ConnectionPtr pConn;
_RecordsetPtr pRs;


pConn.CreateInstance(__uuidof(Connection));
pConn->Open("dsn=JxglDatabase;", "", "", adConnectUnspecified);

pRs.CreateInstance(__uuidof(Recordset));
pRs->Open("SELECT * FROM logstu",(IDispatch*)pConn,
adOpenDynamic,adLockOptimistic, adCmdText);

pcoursename = pRs->Fields->GetItem(1);
pRs->Close();
pConn->Close();

对这段代码编译,报错:error C2664: 'GetItem' : cannot convert parameter 1 from 'const int' to 'const class _variant_t &'

pcoursename = pRs->Fields->GetItem(1);
因为不了解_variant_t 不知道怎么改

请指教
...全文
188 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nightfallrove 2004-03-14
  • 打赏
  • 举报
回复
field = pRs->Fields->Item("字段名");
zhonglingqqxh 2004-03-14
  • 打赏
  • 举报
回复
你也可以通过字段名来访问得到某一字段的值,
_variant_t strField = "字段名";
FieldPtr field;

field = pRs->Fields->GetItem(strField);
试试看
zzyyjj 2004-03-13
  • 打赏
  • 举报
回复
VARIANT varIndex;
VariantInit(&varIndex);
varIndex.vt=VT_I2;
varIndex.iVal=index;
FieldPtr m_fields=m_prsThis->GetFields();
FieldPtr field;
field=m_fields->Item[varIndex];
hdp4820 2003-07-22
  • 打赏
  • 举报
回复
先把1转化为(char*)类型的值,然后再转化为 CString 类型的。
最后用_varinant_t 转化刚刚的 CString 就 OK 了。
如:
int i=1;
CString str;
str.Format(.....);
_variant_t(str);
就行了!

4,012

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧