1

我需要添加一堆 c# 代码来测试表中的值。直接连接到数据源是不可能的(这需要是静态代码)。

输出是

X.AddColumn("ColumnName",ColumnValue);

我想得到一个 SQL 语句,对于一个表返回上述模式,列出一行的每一列,遍历表中的每一行。

我希望在数据库中有一个选择语句,我可以复制和粘贴结果集,理想情况下,它可以动态地遍历列,以节省我为我希望输出的每个表执行类似下面的操作。

SELECT 'X.AddColumn("ColumnName1", ' + CONVERT(VARCHAR, ColumnName1, 100) +');' AS Col1
...
'X.AddColumn("ColumnNameN", ' + CONVERT(VARCHAR, ColumnNameN, 100) +');' AS ColN
FROM
Schema.Table1
4

1 回答 1

2

在我的脑海中,这是一个两步的过程:

运行下面的语句。它将为您的表的每一列创建一个查询(类似于select 'x.AddColumn("Column1", ' + Convert(varchar, Column1, 100) +' )' from dbo.Table1

SELECT 'select ''x.AddColumn("' + c.column_name 
       + '", ''+ Convert(varchar, ' + c.column_name 
       + ',100)+'' )'' from ' + c.table_schema + '.' 
       + c.table_name 
FROM   information_schema.columns c 
WHERE  c.table_name = 'Table1' 
       AND c.table_schema = 'dbo'  

复制上面语句的输出并运行它。它应该为您提供所需的输出。

于 2013-07-15T07:09:11.157 回答