如果您的数据库系统是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()); } } 总结:获得当前数据库中所有表的方法还不止,本人列出的这些,希望以上方法能够起到抛砖引玉的作用。以上的这些方法各有各的优缺点,希望大家能够灵活的应该,并且希望能够将发现的新的方法告知我,谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。