C# 需要建筑方面的建议吗
以下是我正在努力实现的目标 我有一个SQL server数据库,有16个表 现在我需要生成一个平面文件,如下所示C# 需要建筑方面的建议吗,c#,sql-server,database-design,C#,Sql Server,Database Design,以下是我正在努力实现的目标 我有一个SQL server数据库,有16个表 现在我需要生成一个平面文件,如下所示 Field1, value1,value2, ..., valueN Field2, value1,value2, ..., valueN Field3, value1,value2, ..., valueN . . . FieldN, value1,value2, ..., valueN 其中字段与多个表中的列名类似。但是它的名字不一样。字段名和列名之间存在1对1的关系 我该怎么
Field1, value1,value2, ..., valueN
Field2, value1,value2, ..., valueN
Field3, value1,value2, ..., valueN
.
.
.
FieldN, value1,value2, ..., valueN
其中字段与多个表中的列名类似。但是它的名字不一样。字段名和列名之间存在1对1的关系
我该怎么做
多谢各位
作为XML导入,然后执行XML和XSLT如何?这可以通过几个步骤实现:
整个事情和你的问题一样笼统。如果你问了具体的问题,也许我们可以给你具体的答案。使用
PIVOT
我写道。您不需要像我一样进行聚合,但这应该可以让您开始了。要想获得您想要的字段名,您可能需要一个中间映射表,您可以手动填充该表:
MyField FieldNameNeeded
UnitSerial Unit Serial
Address1 Address Line 1
这里非常通用,但您可以将表输出结果集加载到二维数组中,然后按列主顺序遍历该数组以输出文件 还可以创建一个数组,将列位置或名称映射到字段名称 伪代码:
fieldName[] = {"Field1","field2",....}
String results[][] = getDBResults()
for( i=0;i<numCOls;i++ ) {
line = fieldName[i] + ",";
for(j=0; j<<numRows; j++) {
line += results[j][i] + ",";
}
FILE.writeline(line[:-1]);
}
fieldName[]={“Field1”、“field2”和..}
字符串结果[][]=getDBResults()
对于(i=0;i<numCOls;i++){
行=字段名[i]+“,”;
对于(j=0;jI)来说,我认为您需要定义“相似”的含义。如果您告诉我们您为什么要尝试实现这一点,可能会更容易得到答案。这是用测试数据填充表吗?是将数据从一个表布局移动到另一个表布局吗?@MJB的“相似”表示我的意思是字段和列名之间有1:1的关系。例如,UnitSerial列必须是“Unit Serial”平面文件中的字段。不,它们之间的空间并不总是不同的。只是没有一致性。@MJB我正在尝试集成两个系统,这个平面文件是第二个系统可以接受的。现在我有了几个选项。最好的方法是什么?非常感谢。我倾向于按原样将数据导入新系统,并且然后使用SQL进行转换。这将允许您在解码、查找等方面以及事务方面有一定的回旋余地。导入为XML,然后执行和XSLT如何?导入为XML,然后执行和XSLT如何?导入为XML,然后执行和XSLT如何?导入为XML,然后执行和XSLT如何?导入为XML,然后执行和XSLT如何?