VC ADO访问数据 如何得到数据库某一行第一的字段的值 非常感谢 1,select top 1 语句.2.getfield(0) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 _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);///显示 是一样的,用字段编号代替字段名称,如:_variant_t var;var = m_pRs->GetCollect((long)0); 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()); }} 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); ado打开recordset后,getcollect((long)0),或者fields((long)0).value 文档类不能进行消息相应吗? VC++对话框界面的配色是怎么的? 调试错误 User breakpoint called from code at <address> -------怎样将一个.dll文件导入动项目中----------- 请问快速合并文件的方法 请教数据库问题(ADO,Ms SQL Server200) 高手在那里?关于installshield的修复功能?(第二次提问了) 错在哪? 已知局域网内一计算机名,怎么得到它的ip? 哪位同道推荐两个比较好的下源代码的地方? INT转换成BIT类型 怎样把一个8位的位图保存到硬盘上,用vc代码实现,我写的是对话框应用程序,
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);///显示
_variant_t var;
var = m_pRs->GetCollect((long)0);
{
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());
}
}
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);