我们有时候需要通过程序获取表的所有字段,那么用ADO提供的接口获取还是很方便的。
vs2005创建控制台程序,语言为C++。
核心代码如下:
struct TableField
{
TableField()
: strFieldName(_T(""))
, nFieldType(0)
, nFieldLength(0)
{
}
CString strFieldName; // 字段名称
int nFieldType; // 字段类型
int nFieldLength; //字段大小
};
/*
@brief 获取表的所有字段
@param[in] pConnPtr 数据库连接
@param[in] strTableName 表名称
@param[out] vTableFields 字段列表
@return 获取是否成功
*/
bool GetTableField(_ConnectionPtr& pConnPtr, const CString& strTableName, vector<TableField>& vTableFields)
{
CString strSql = _T("");
strSql.Format(_T("select * from %s"), strTableName);
_RecordsetPtr pRecordsetOrig;
pRecordsetOrig.CreateInstance(__uuidof(Recordset));
HRESULT = pRecordsetOrig->Open(_bstr_t(strSql), _variant_t(pConnPtr.GetInterfacePtr()),
adOpenDynamic, adLockOptimistic, adCmdText);
// 得到所有字段
FieldsPtr fields = pRecordsetOri

本文介绍如何在C++中使用ADO接口来获取数据库表的所有字段,以VS2005控制台程序为例,核心代码展示了具体实现。
2757

被折叠的 条评论
为什么被折叠?



