说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

从数据库中取表名语句?

编辑:说三道四文库 发布时间:2018-04-21 02:32
HTML文档下载 WORD文档下载 PDF文档下载
数据库类型分别为:
DB2,SQL Server,Sybase,Informix,Oracle
取表名的语句是??
我只会取子段名……汗
不同数据库的取表名,字段名的语句不一样啊,哪位大人把语句给我写一下?取字段名的也要……顿首
SQL Server在sysobjects表中name 字段
sql server的表名放在sysobjects系统表里。
SELECT name FROM sysobjects WHERE type = 'u'
如果要系统表就把u改为s.
Sybase好像也是
我现在定义字符串数组m_table() as string
现在要把表名写在m_table()里,使用rst=ado .recordset,
运行sqlstr="SELECT name FROM sysobjects WHERE type = 'u'"
写返回函数getrecordset(rst,conn,sqlstr)


dim n as integer
while not rst.eof
   m_table(n)=rst.fields(这里面写什么?)
   n=n+1
wend

还有,其他数据库取表名怎么写呢?还有取字段名?
table_type='table'  Or table_type='view'
是什么意思??
表类型是???
dim n as integer
while not rst.eof
   m_table(n)=rst.fields(0)
   n=n+1
wend

dim n as integer
do while not rst.eof
    m_table(n)=rst.fields(0)
    n=n+1
    rst.movenext
loop
其实可以直接用GetRows 方法
      

将 Recordset 对象的多个记录恢复到数组中。

语法

array = recordset.GetRows( Rows, Start, Fields )

返回值

返回二维数组。

参数

Rows    可选,长整型表达式,指定要检索记录数。默认值为 adGetRowsRest (-1)。

Start    可选,字符串或长整型,计算得到在 GetRows 操作开始处的记录的书签。也可使用下列 BookmarkEnum 值。

常量 说明 
AdBookmarkCurrent 从当前记录开始。 
AdBookmarkFirst 从首记录开始。 
AdBookmarkLast 从尾记录开始。 


Fields   可选,变体型,代表单个字段名、顺序位置、字段名数组或顺序位置号。ADO 仅返回这些字段中的数据。

说明

使用 GetRows 方法可将记录从 Recordset 复制到二维数组中。第一个下标标识字段,第二个则标识记录号。当 GetRows 方法返回数据时数组变量将自动调整到正确大小。

如果不指定 Rows 参数的值,GetRows 方法将自动检索 Recordset 对象中的所有记录。如果请求的记录比可用记录多,则 GetRows 仅返回可用记录数。

如果 Recordset 对象支持书签,则可以通过传送该记录的 Bookmark 属性值,来指定 GetRows 方法将从哪个记录开始检索数据。

如要限制 GetRows 调用返回的字段,则可以在 Fields 参数中传送单个字段名/编号或者字段名/编号数组。

在调用 GetRows 后,下一个未读取的记录成为当前记录,或者如果没有更多的记录,则 EOF 属性设置为 True。
刚刚看了一下sysobject数据库文件,xtype为u的表里面有一个dtproperties表,可是这个表的类型明明是系统的啊??怎么回事??
sqlserver中:
m_table(n)=rst.fields("name")


还有取字段名?
=--------------
字段名名在syscolumns里
知道了……是用户创建数据库的纪录信息,好像……现在要从rst.fields里剔除dtproperties表,然后再把rst.fields存到m_table()里,怎么写??
其它数据库类型怎么写呢?
楼上的大人,我说的取字段名是取特定表中的字段名,这样写,大家看对不对??
select top0* from m_table
m_table是表名变量,
字段名可以在系统列里可以找,
先把syscolumns和sysobjects根据id号关联起来名称:vwTable
vwTable的字段:tName(表名),fName(字段名)

select fName from vwTable where tName='表名'

就这样可以达到你所要求了
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘