〔问题〕如何枚举数据库中的表名?

sinzy 2002-06-06 08:43:09
例如,我选择打开一个数据库(目前是Access MDB文件),事先并不知道其含有的表名,我希望能列出表名,以便建立DataAdapter(因为它需要一个SQL语句初始化),但是一直不得其解。

看到一种方法,通过执行“SELECT [Name] FROM MSysObjects WHERE Type=1 AND Left([Name],1)<>'~' AND Left([Name],4)<>'MSys' ORDER BY [Name]”来获得表名,经试验成功,但仅限于我本机通过Access创建的数据库,因为它需要访问一个System.mdw文件。这样不具有通用性。

请问大家谁知道怎么解决这个问题?

谢谢!
...全文
110 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
HapTears 2002-10-14
那有没有哪位大侠知道,怎么枚举出局域网上的sql服务器了,有怎么枚举出一个sql服务器上的所有库名了,然后在枚举出表名了.
  • 打赏
  • 举报
回复
dreamdragon2008 2002-06-07
OleDbConnection nwindConn = new OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind");

nwindConn.Open();
DataTable schemaTable = nwindConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
new object[] {null, null, null, "TABLE"});
  • 打赏
  • 举报
回复
saucer 2002-06-07
try

OleDbConnection.GetOleDbSchemaTable
  • 打赏
  • 举报
回复
triout 2002-06-07
好象以前看到过这样的帖子,也已经解决了,但我忘记连接了。
  • 打赏
  • 举报
回复
相关推荐
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2002-06-06 08:43
社区公告

让您成为最强悍的C#开发者