C# 以字符串格式的文本从数据库检索表名

C# 以字符串格式的文本从数据库检索表名,c#,sql,visual-studio,ssms,C#,Sql,Visual Studio,Ssms,我有一个这样的问题 @"SELECT TABLE_NAME AS TABLES FROM

我有一个这样的问题

@"SELECT 
                                               TABLE_NAME
                                              AS
                                               TABLES
                                            FROM 
                                               INFORMATION_SCHEMA.TABLE_CONSTRAINTS
                                           WHERE 
                                               CONSTRAINT_TYPE = 'PRIMARY KEY'
                                             AND
                                               TABLE_NAME <> 'dtProperties'
                                        ORDER BY
                                               TABLE_NAME";
@“选择
表名称
作为
桌子
从…起
信息\u SCHEMA.TABLE\u约束
哪里
约束类型='主键'
及
表\u名称“dtProperties”
订购人
表“名称”;

从该查询中检索表列表时,是否有任何方法可以将表格格式转换为字符串格式的格式。

通过.NET两者都不是-这只是SSMS显示。根据前面的问题,听起来你只是很难把这篇专栏读入字串

也许是这样的:

    List<string> list = new List<string>();
    using(var conn = new SqlConnection(connectionString))
    using (var cmd = conn.CreateCommand()) {
        cmd.CommandText = @"
            SELECT TABLE_NAME
            FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
            WHERE CONSTRAINT_TYPE = 'PRIMARY KEY'
            AND TABLE_NAME <> 'dtProperties'
            ORDER BY TABLE_NAME";
        conn.Open();

        using (var reader = cmd.ExecuteReader()) {
            while (reader.Read()) {
                list.Add(reader.GetString(0));
            }
        }
    }
或涉及
StringBuilder
(本例中为换行符)的内容:

StringBuilder sb=新建StringBuilder();
使用(var conn=newsqlconnection(connectionString))
使用(var cmd=conn.CreateCommand()){
cmd.CommandText=@”
选择表格名称
来自信息\u SCHEMA.TABLE\u约束
其中约束类型='主键'
和表名称“dtProperties”
按表_名称排序”;
conn.Open();
使用(var reader=cmd.ExecuteReader()){
while(reader.Read()){
sb.AppendLine(reader.GetString(0));
}
}
}
字符串s=sb.ToString();

通过.NET,两者都不是-这只是SSMS显示。根据前面的问题,听起来你只是很难把这篇专栏读入字串

也许是这样的:

    List<string> list = new List<string>();
    using(var conn = new SqlConnection(connectionString))
    using (var cmd = conn.CreateCommand()) {
        cmd.CommandText = @"
            SELECT TABLE_NAME
            FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
            WHERE CONSTRAINT_TYPE = 'PRIMARY KEY'
            AND TABLE_NAME <> 'dtProperties'
            ORDER BY TABLE_NAME";
        conn.Open();

        using (var reader = cmd.ExecuteReader()) {
            while (reader.Read()) {
                list.Add(reader.GetString(0));
            }
        }
    }
或涉及
StringBuilder
(本例中为换行符)的内容:

StringBuilder sb=新建StringBuilder();
使用(var conn=newsqlconnection(connectionString))
使用(var cmd=conn.CreateCommand()){
cmd.CommandText=@”
选择表格名称
来自信息\u SCHEMA.TABLE\u约束
其中约束类型='主键'
和表名称“dtProperties”
按表_名称排序”;
conn.Open();
使用(var reader=cmd.ExecuteReader()){
while(reader.Read()){
sb.AppendLine(reader.GetString(0));
}
}
}
字符串s=sb.ToString();

像这样的东西有用吗

string[] myObjArray = new string[DataTable1.Rows.Count];

DataTable1.Rows.CopyTo(myObjArray, 0);

像这样的东西有用吗

string[] myObjArray = new string[DataTable1.Rows.Count];

DataTable1.Rows.CopyTo(myObjArray, 0);

我不知道你说的格式化表格是什么意思。 您可以使用以下sql语句检索包含所有表名的字符串:

declare @out varchar(max)
set @out = ''
select @out = @out + table_name + char(10) + char(13) from information_schema.table_constraints
where constraint_type = 'PRIMARY KEY'
and table_name <> 'dtProperties'
order by table_name

select @out
声明@out varchar(最大值)
设置@out=“”
从information\u schema.table\u约束中选择@out=@out+table\u name+char(10)+char(13)
其中约束类型='主键'
和表名称“dtProperties”
按表格名称排序
选择@out

我不知道格式化表单是什么意思。 您可以使用以下sql语句检索包含所有表名的字符串:

declare @out varchar(max)
set @out = ''
select @out = @out + table_name + char(10) + char(13) from information_schema.table_constraints
where constraint_type = 'PRIMARY KEY'
and table_name <> 'dtProperties'
order by table_name

select @out
声明@out varchar(最大值)
设置@out=“”
从information\u schema.table\u约束中选择@out=@out+table\u name+char(10)+char(13)
其中约束类型='主键'
和表名称“dtProperties”
按表格名称排序
选择@out