在很多情况下我们需要将指定的数据库中的所有表都列出来。在使用c#进行软件开发时,我们有哪些方法可是实现这个目的呢?本人对此进行概要的总结,有以下6中方式可以实现这个目的。
1、sqldmo
SQLDMO是操作SQLServer的理想的方式,如果您的数据库是SQLServer就可以考虑使用这种方式。在C#中使用SQLDMO需要添加SQLDMO的引用,然后在当前的文件中using SQLDMO;即可以使用SQLDMO。SQLDMO的对象模型大家可以在SQLServer的帮助中获得。
private void GetTabels_DMO(string strServerName,string strUser,string strPWD,string strDatabase)
{
SQLDMO.SQLServer Server = new SQLDMO.SQLServerClass();
//连接到服务器
Server.Connect(strServerName,strUser,strPWD);
//对所有的数据库遍历,获得指定数据库
for(int i=0;i<Server.Databases.Count;i++)
{
//判断当前数据库是否是指定数据库
if(Server.Databases.Item(i+1,"dbo").Name ==strDatabase)
{
//获得指定数据库
SQLDMO._Database db= Server.Databases.Item(i+1,"dbo");
//获得指定数据库中的所有表
for(int j=0;j<db.Tables.Count;j++)
{
MessageBox.Show(db.Tables.Item(j+1,"dbo").Name);
}
}
}
}