社区
数据库
帖子详情
ADO怎样得到表名
EPS
2004-12-21 02:53:31
用ADO怎样得到表的个数和每个表的名字?
...全文
192
6
打赏
收藏
ADO怎样得到表名
用ADO怎样得到表的个数和每个表的名字?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Kudeet
2004-12-23
打赏
举报
回复
m_pRs->IsEOF\pRstSchema->EndOfFile
这里的访问名字要看你是怎么使用的import语句来改名的。就是rename("eof",...
EPS
2004-12-23
打赏
举报
回复
m_pRs->IsEOF\pRstSchema->EndOfFile都没有定义呀
encyc
2004-12-22
打赏
举报
回复
用OpenSchema 方法
语法
Set recordset = connection.OpenSchema (QueryType, Criteria, SchemaID)
返回值
返回包含模式信息的 Recordset 对象。Recordset 将以只读、静态游标打开。
参数
QueryType所要运行的模式查询类型,可以为下列任意常量。
Criteria可选。每个 QueryType 选项的查询限制条件数组,如下所列:
小写为QueryType 值
大写为Criteria 值
AdSchemaAsserts
CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
AdSchemaCatalogs
CATALOG_NAME
AdSchemaCharacterSets
CHARACTER_SET_CATALOG
CHARACTER_SET_SCHEMA
CHARACTER_SET_NAME
AdSchemaCheckConstraints
CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
AdSchemaCollations
COLLATION_CATALOG
COLLATION_SCHEMA
COLLATION_NAME
AdSchemaColumnDomainUsage
DOMAIN_CATALOG
DOMAIN_SCHEMA
DOMAIN_NAME
COLUMN_NAME
AdSchemaColumnPrivileges
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
GRANTOR
GRANTEE
adSchemaColumns
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
adSchemaConstraintColumnUsage
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
adSchemaConstraintTableUsage
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
adSchemaForeignKeys
PK_TABLE_CATALOG
PK_TABLE_SCHEMA
PK_TABLE_NAME
FK_TABLE_CATALOG
FK_TABLE_SCHEMA
FK_TABLE_NAME
adSchemaIndexes
TABLE_CATALOG
TABLE_SCHEMA
INDEX_NAME
TYPE
TABLE_NAME
adSchemaKeyColumnUsage
CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
adSchemaPrimaryKeys
PK_TABLE_CATALOG
PK_TABLE_SCHEMA
PK_TABLE_NAME
adSchemaProcedureColumns
PROCEDURE_CATALOG
PROCEDURE_SCHEMA
PROCEDURE_NAME
COLUMN_NAME
adSchemaProcedureParameters
PROCEDURE_CATALOG
PROCEDURE_SCHEMA
PROCEDURE_NAME
PARAMTER_NAME
adSchemaProcedures
PROCEDURE_CATALOG
PROCEDURE_SCHEMA
PROCEDURE_NAME
PROCEDURE_TYPE
adSchemaProviderSpecific
参见说明
adSchemaProviderTypes
DATA_TYPE
BEST_MATCH
adSchemaReferentialConstraints
CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
adSchemaSchemata
CATALOG_NAME
SCHEMA_NAME
SCHEMA_OWNER
adSchemaSQLLanguages
<无>
adSchemaStatistics
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
adSchemaTableConstraints
CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
CONSTRAINT_TYPE
adSchemaTablePrivileges
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
GRANTOR
GRANTEE
adSchemaTables
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
TABLE_TYPE
adSchemaTranslations
TRANSLATION_CATALOG
TRANSLATION_SCHEMA
TRANSLATION_NAME
adSchemaUsagePrivileges
OBJECT_CATALOG
OBJECT_SCHEMA
OBJECT_NAME
OBJECT_TYPE
GRANTOR
GRANTEE
adSchemaViewColumnUsage
VIEW_CATALOG
VIEW_SCHEMA
VIEW_NAME
adSchemaViewTableUsage
VIEW_CATALOG
VIEW_SCHEMA
VIEW_NAME
adSchemaViews
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
SchemaIDOLE DB 规范没有定义用于提供者模式查询的 GUID。如果 QueryType 设置为 adSchemaProviderSpecific,则需要该参数,否则不使用它。
说明
OpenSchema 方法返回与数据源有关的信息,例如关于服务器上的表以及表中的列等信息。
Criteria 参数是可用于限制模式查询结果的值数组。每个模式查询有它支持的不同参数集。实际模式由 IDBSchemaRowset 接口下的 OLE DB 规范定义。ADO 中所支持的参数集已在上面列出。
如果提供者定义未在上面列出的非标准模式查询,则常量 adSchemaProviderSpecific 将用于 QueryType 参数。在使用该常量时需要 SchemaID 参数传递模式查询的 GUID 以用于执行。如果 QueryType 设置为 adSchemaProviderSpecific 但是没有提供 SchemaID,将导致错误。
提供者不需要支持所有的 OLE DB 标准模式查询,只有 adSchemaTables、adSchemaColumns 和 adSchemaProviderTypes 是 OLE DB 规范需要的。但是对于这些模式查询,提供者不需要支持上面列出的 Criteria 条件约束。
远程数据服务用法OpenSchema 方法在客户端 Connection 对象上无效。
注意在 Visual Basic 中,在由 Connection 对象的 OpenSchema 方法所返回的 Recordset 中有 4 字节无符号整型 (DBTYPE UI4) 的列无法与其他变量比较。有关 OLE DB 数据类型的详细信息,请参阅“Microsoft OLE DB 程序员参考”的第十章和附录 A。
oyljerry
2004-12-21
打赏
举报
回复
OpenSchema获得所有的用户表和系统表
Kudeet
2004-12-21
打赏
举报
回复
Q ADO如何取得数据库中表的表名
A
_variant_t vFieldValue;
CString strFieldValue;
m_pRs=m_pConnection->OpenSchema(adSchemaTables);
while(VARIANT_FALSE==m_pRs->IsEOF)
{
strFieldValue=(char*)_bstr_t(m_pRs->GetCollect("TABLE_TYPE"));
if(!strcmp(strFieldValue.GetBuffer(0),"TABLE")||!strcmp(strFieldValue.GetBuffer(0),"table"))
{
strFieldValue.ReleaseBuffer();
strFieldValue=(char*)_bstr_t(m_pRs->GetCollect("TABLE_NAME"));
m_ctlList.AddString(strFieldValue); ///把所有的表名加到控件
}
m_pRs->MoveNext();
}
m_pRs->Close();
bohut
2004-12-21
打赏
举报
回复
void CdbToolsDlg::GetDatabaseSchema(_ConnectionPtr pConnection, _bstr_t* bstrTableNames, int* nTableCount, _bstr_t bstrFilter)
{
ASSERT(pConnection->State==adStateOpen);
_RecordsetPtr pRstSchema = NULL;
SAFEARRAY FAR* psa = NULL;
SAFEARRAYBOUND rgsabound;
_variant_t var;
_variant_t Array;
rgsabound.lLbound = 0;
rgsabound.cElements = 4;
psa = SafeArrayCreate(VT_VARIANT, 1, &rgsabound);
var.vt = VT_EMPTY;
long ix;
ix = 0;
SafeArrayPutElement(psa, &ix, &var);
ix= 1;
SafeArrayPutElement(psa, &ix, &var);
ix = 2;
SafeArrayPutElement(psa, &ix, &var);
var.vt = VT_BSTR;
//表的类型有"ALIAS""TABLE""SYNONYM""SYSTEM TABLE"
"VIEW""GLOBAL TEMPORARY""LOCAL TEMPORARY""SYSTEM VIEW"
var.bstrVal = bstrFilter;//这里bstrFilter="TABLE"就可以了
ix = 3;
SafeArrayPutElement(psa, &ix, &var);
var.vt=VT_EMPTY;
Array.vt = VT_ARRAY |VT_VARIANT;
Array.parray = psa;
try
{
pRstSchema = pConnection->OpenSchema(adSchemaTables,&Array);
*nTableCount=0;
while(!(pRstSchema->EndOfFile))
{
if(bstrTableNames!=NULL)
{
_bstr_t table_name = pRstSchema->Fields->
GetItem("TABLE_NAME")->Value;
*(bstrTableNames++)=table_name;
}
*nTableCount+=1;
pRstSchema->MoveNext();
}
}
catch (_com_error e) {
PrintComError(e);
}
if(pRstSchema)
if (pRstSchema->State == adStateOpen)
pRstSchema->Close();
}
ASP200问.EXE
153.如何从服务器获得客户端时间 154.如何测试网站速度 156.如何制作防刷新计数器 157.如何实现ASP缓存技术 158.如何在ASP中实现Ping 159.如何打印Iframe中的内容 160.如何用ASP实现网络打印 161.如何用组件实现本地...
经典全面的SQL语句大全
为了取出几条随机选择的记录并存放在同一recordset内,你可以存储三个随机数,然后查询数据库获得匹配这些数字的记录: SQL = "SELECT * FROM Customers WHERE ID = " & RNumber & " OR ID = " & RNumber2 & " ...
winform控件与
ADO
.NET
ADO
.NET的名称起源于
ADO
(ActiveX Data Objects),是一个COM组件库,用于在以往的Microsoft技术中访问数据。之所以使用
ADO
.NET名称,是因为Microsoft希望表明,这是在NET编程环境中优先使用的数据访问接口。
数据库设计与应用开发.docx
10)连接Course表和SC表只需将代码中的
表名
修改即可,
得到
如下结果。 (1)VB和JXGL数据库Course表连接结果: (2) VB和JXGL数据库SC表连接结果: VB连接SQL Server数据库方法二以及数据库的访问程序: (一)VB连接SQL...
ADO
查询怎样
得到
EXCEL
表名
采用
ADO
查询EXCEL,需要知道
表名
,一般EXCEL的第一个
表名
为“sheet1”,如果有例外,就需要先
得到
表名
,否则会报错。程序如下:(其中参量file为服务器中excel文件的全路径名)Function CreateDataSource(ByVal file...
数据库
4,011
社区成员
39,816
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章