VC ADO访问数据 如何得到数据库某一行第一的字段的值 非常感谢

mengqimxz 2008-09-20 08:47:25
VC ADO访问数据 如何得到数据库某一行第一的字段的值 因第一字段名是个变量,就像VB可以用Rec.Fields(0).Value这样得到,但是不知道VC应该怎么写 谢谢
...全文
259 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dirdirdir3 2008-10-23
  • 打赏
  • 举报
回复
ado打开recordset后,getcollect((long)0),或者fields((long)0).value
shakaqrj 2008-10-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 tabby 的回复:]
是一样的,用字段编号代替字段名称,如:
_variant_t var;
var = m_pRs->GetCollect((long)0);
[/Quote]
这样就行了
danielwmm 2008-10-19
  • 打赏
  • 举报
回复
Rec->MoveFirst();
FieldsPtr fsp;
FieldPtr fp;
fsp = Rec->GetFields();
fp = fsp->GetItem((_variant_t)long(0));
CString str ;
_variant_t va = fp.GetValue();
str = (LPCSTR)_bstr_t(va);

或:
Rec->MoveFirst();
_variant_t va;
va = Rec->GetCollect((_variant_t)long(0));
CString str = (LPCSTR)_bstr_t(va);
jsc0415067 2008-09-26
  • 打赏
  • 举报
回复
try
{
if(!m_pRecord->BOF)
m_pRecord->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
return;
}
//读入库中各字段并加入列表框中
while(!m_pRecordset->adoEOF)
{
var=m_pRecordset->GetCollect("name");
if(var.vt!=VT_NULL)
strName=(LPCSTR)_bstr_t(var);
var=m_pRecordset->GetCollect("Age");
if(var.vt!=VT_NULL)
strAge=(LPCSTR)_bstr_t(var);
m_AccessList.Addstring(strName+"->"+strAge);
m_pRecordset->MoveNext();
}
//默认列表指向第一项,同时移动记录指针并显示
m_AccessList.SetCurSel(0);
OnSelchangeListaccess();
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
内存泄漏 2008-09-20
  • 打赏
  • 举报
回复
是一样的,用字段编号代替字段名称,如:
_variant_t var;
var = m_pRs->GetCollect((long)0);
柯本 2008-09-20
  • 打赏
  • 举报
回复
_ConnectionPtr m_pConnection;
HRESULT hr;
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
hr = m_pConnection->Open("Provider=MSDASQL.1;Data Source=testfox;Extended Properties=\"DSN=TEST;UID=;PWD=;SourceDB=d:\\temp;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;\"","","",adModeUnknown);///连接数据库
else
MessageBox("error");
_variant_t RecordsAffected;
_RecordsetPtr m_pRecordset = m_pConnection->Execute("SELECT * FROM users",&RecordsAffected,adCmdText);
//现在就在第一条记录
_variant_t vIndex = (long)0; //这里为字段号,从0开始

_variant_t vCount = m_pRecordset->GetCollect(vIndex);///取得第一个字段的值放入vCount变量
m_pRecordset->Close();///关闭记录集

message.Format("0号字段的值为%d",vCount.lVal);
AfxMessageBox(message);///显示
xpaisq 2008-09-20
  • 打赏
  • 举报
回复
movefist
getfild()
UDX协议 2008-09-20
  • 打赏
  • 举报
回复
1,select top 1 语句.
2.getfield(0)
闪破风浪 2008-09-20
  • 打赏
  • 举报
回复
你看看《ADO开发指南》。。。。
SoftSoftSoft2008 2008-09-20
  • 打赏
  • 举报
回复
类似,

4,018

社区成员

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

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