需要一个建筑建议

时间:2011-05-11 20:07:23

标签: c# sql-server database-design

这就是我想要实现的目标。

我有一个包含16个表的SQL服务器数据库。

现在我需要生成一个平面文件,如下所示。

Field1, value1,value2, ..., valueN
Field2, value1,value2, ..., valueN
Field3, value1,value2, ..., valueN
.
.
.
FieldN, value1,value2, ..., valueN

字段与多个表中的列名类似。但它的名字不一样。字段和列名称之间存在1对1的关系。

我该怎么做?

谢谢

如何以XML格式导入然后执行XSLT?

4 个答案:

答案 0 :(得分:1)

这可以通过几个步骤实现:

  1. 从数据库加载数据以及列名称。
  2. 将列名转换为可接受的名称。
  3. 将所有数据转换为正确的格式。
  4. 生成文件。
  5. 整个事情和你的问题一样通用。如果你问了具体的问题,那么我们可以给你具体的答案。

答案 1 :(得分:0)

使用PIVOT

我写了a blog post about using PIVOT。你不需要做我正在做的那种聚合,但这应该让你开始。

答案 2 :(得分:0)

要获得您想要的字段名称,您可能需要一个中间映射表,您可以手动填写:

MyField         FieldNameNeeded
UnitSerial      Unit Serial
Address1        Address Line 1

答案 3 :(得分:0)

这里非常通用,但您可以将表输出结果集加载到2d数组中,然后按列主顺序遍历数组以输出文件。

您还可以创建一个数组,将列位置或名称映射到字段名称。

伪代码:

fieldName[] = {"Field1","field2",....}

String results[][] = getDBResults()  
for( i=0;i&ltnumCOls;i++ ) {  
    line = fieldName[i] + ",";  
      for(j=0; j<&ltnumRows; j++) {  
          line += results[j][i] + ",";  
      }
      FILE.writeline(line[:-1]);  
}