【SQLServer】获得当前数据库的所有表
发布时间:2020-12-12 15:44:15 所属栏目:MsSql教程 来源:网络整理
导读:如果您的数据库系统是SQLServer,就可以使用如下的方式来获得当前数据库的所有表: ? ?? ?? ?private void GetTables_SystemTable() ? ?? ?? ? { ? ?? ?? ?? ? //打开连接 ? ?? ?? ?? ? string strConnectionString=System.Configuration.ConfigurationSetti
如果您的数据库系统是SQLServer,就可以使用如下的方式来获得当前数据库的所有表: ? ?? ?? ?private void GetTables_SystemTable() ? ?? ?? ? { ? ?? ?? ?? ? //打开连接 ? ?? ?? ?? ? string strConnectionString=System.Configuration.ConfigurationSettings.AppSettings ["ConnectionString"]; ? ?? ?? ?? ? sqlcn=new SqlConnection(strConnectionString); ? ?? ?? ?? ? sqlcn.Open(); ? ?? ?? ?? ? //使用信息架构视图 ? ?? ?? ?? ? SqlCommand sqlcmd=new SqlCommand("SELECT OBJECT_NAME (id) FROM sysobjects WHERE xtype = 'U' AND OBJECTPROPERTY (id,'IsMSShipped') = 0",sqlcn); ? ?? ?? ?? ? SqlDataReader dr=sqlcmd.ExecuteReader(); ? ?? ?? ?? ? while(dr.Read()) ? ?? ?? ?? ???{ ? ?? ?? ?? ?? ???MessageBox.Show(dr.GetString(0)); ? ?? ?? ?? ? } ? ?? ?? ?} 6、使用SQLServer的存储过程"sp_tables" 下面是"盛国军"朋友提出的使用存储过程的方法的补充代码。 ? ?? ?? ?public void GetTables_StoredProcedure() ? ?? ?? ? { ? ?? ?? ?? ? //处理OleDbConnection ? ?? ?? ?? ? string strConnectionString=@"Integrated Security=SSPI;Data Source=HBXP;Initial Catalog=Test;Provider=SQLOLEDB.1"; ? ?? ?? ?? ? OleDbConnection cn=new OleDbConnection(strConnectionString); ? ?? ?? ?? ? cn.Open(); ? ?? ?? ?? ? //执行存储过程 ? ?? ?? ?? ? OleDbCommand cmd=new OleDbCommand("sp_tables",cn); ? ?? ?? ?? ? cmd.CommandType=CommandType.StoredProcedure; ? ?? ?? ?? ? OleDbDataReader dr= cmd.ExecuteReader(); ? ?? ?? ?? ? while(dr.Read()) ? ?? ?? ?? ???{ ? ?? ?? ?? ?? ???MessageBox.Show(dr["TABLE_NAME"].ToString()); ? ?? ?? ?? ? } ? ?? ?? ?} 总结:获得当前数据库中所有表的方法还不止,本人列出的这些,希望以上方法能够起到抛砖引玉的作用。以上的这些方法各有各的优缺点,希望大家能够灵活的应该,并且希望能够将发现的新的方法告知我,谢谢。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |