本文主要是介绍[C#]获取数据库中所有的表名,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
大家都知道MS-SQL可以用下面的语句来返回数据库里面所有表的名称:
SELECT name
FROM sysobjects
WHERE xtype = 'U' --用户表,系统表是'S'
近日使用OleDb来操作Excel文件,XLS文件里面当然不可能会存在sysobjects这个系统表,这时候我们需要用OleDbConnection里面的一个函数来返回数据库的结构表,从而获得所有表的名称:
const string szConnectString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\\1.xlsx; Extended Properties=\"Excel 12.0;HDR=YES;\"";
OleDbConnection connObj = new OleDbConnection(szConnectString);
DataTable schemaTable = connObj.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables_Info, null);
查阅MSDN可以知道,GetOleDbSchemaTable函数中第一个参数的意义是“返回给定用户可访问的表(包括视图)”,schemaTable的列是按固定的顺序输出的,其中第三列即为TABLE_NAME
参考了这里,感谢wuyq11:http://topic.csdn.net/u/20100818/18/abc5dd02-0ae1-412e-b709-12b09f5697b1.html
这篇关于[C#]获取数据库中所有的表名的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!