软糖来回答这个问题把。
1使用Connection的GetSchema方法,参数为"Tables"
public IList<string> 获取表集合(SqlConnection 连接){
List<string> 表名 = new List<string>();
DataTable dt = 连接GetSchema("Tables");
foreach (DataRow row in dtRows)
{
string 表类型 = (string)row["TABLE_TYPE"];
if (表类型Contains("TABLE"))
{ 表名Add(row["TABLE_NAME"]ToString()); }
}
return 表名;
}
2使用SELECT语句针对系统表进行 *** 作
public IList<string> 获取表集合2(SqlConnection 连接){
SqlCommand 命令 = new SqlCommand
(@"SELECT name FROM sysobjects WHERE (OBJECTPROPERTY(id, N'IsUserTable') = 1)", 连接);
List<string> 表名 = new List<string>();
SqlDataReader 读取器 = 命令ExecuteReader();
while (读取器Read())
{
string 名称 = 读取器[0]ToString();
表名Add(名称);
}
读取器Close();
return 表名;
}
以上两种方法都是针对SQL SERVER数据库测试有效,其他的数据库可能需要修改部分代码。
如满意,请采纳,谢谢。
用sql获取数据库中所有的表名的方法:
1、oracle下:select
table_name
from
all_tables;
2、MySQL下:select
table_name
from
information_schematables
where
table_schema='csdb'
and
table_type='base
table';
3、sql
server下:select
name
from
systables
go
方法如下,以oracle为例:
select from all_tables WHERE owner='SCOTT' ;或者
SELECT FROM DBA_TABLES WHERE OWNER='SCOTT';
数据字典视图
表和列
DBA_TABLES、ALL_TABLES和USER_TABLES显示了有关数据库表的一般信息。
DBA_TAB_COLUMNS、ALL_TAB_COLUMNS和USER_TAB_COLUMNS显示了每个数据库表的列的信息。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括表。
觉得你应该先弄清楚oracle的常规数据字典的结构,像9i里的常规数据字典中对象名称就有以user,all,dba为前缀的对象。
以user为例,我们查该对象下有些什么表,就应该执行下列的语句:
sql>select
table_name
from
user_tables;
类似的,你可以进行替换。:)
如果你想查数据库中所有的表的话,可以查询
select
from
dba_tables
如果你想查询数据库中某个用户下的表的话,也可以登录这个用户,再查询:
select
from
user_tables
要想导入外部sql语句可以用命令
sql
>@e:\文件名sql
如你想保存
select
from
tablename;语句的结果,可以在sqlplus
里面这样:
spool
c:\testsql
//这是保存文件的位置
select
from
tablename;
spool
off
$dbh是new PDO()
$dbh->exec("show tables");--获取所有表#
$dbh->exec("desc 表名");--查询表结构
以上就是关于用C#代码 怎样获取数据库的所有的表名全部的内容,包括:用C#代码 怎样获取数据库的所有的表名、怎样获取mysql数据库里所有表的名字、怎么用SQL语句获取指定数据库中的所有表名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)