我可以提供带有名称的数据表行吗?

时间:2009-06-05 15:56:57

标签: c# .net ado.net datatable rows

是否可以像字符串一样提供字符串形式的数据表行?我希望能够通过名称而不是索引来引用行。

修改: 我的错。我在C#工作。我应该说明。

我正在使用统计分析进行市场相关性研究。我想将相关性研究的输出存储在dataTable中。每列都是研究中包含的市场。这些行的名称与相同顺序的列具有相同的名称。因此,我将黄金市场和铜市场之间的相关性研究的输出放在“金”栏和行“铜”的交叉点(以及“铜”和“金”栏的交叉处) “)。

为了在我的代码中的其他地方轻松引用这些研究的输出,我希望能够按市场名称而不是索引来引用行。

谢谢!

3 个答案:

答案 0 :(得分:0)

我不知道你正在使用什么数据库,但我认为没有办法做到这一点。在Oracle中有类似的东西叫做rowid(每行一个唯一的id,独立于主键),但我不确定其他数据库是否有相同的东西。

答案 1 :(得分:0)

您的行/列名称的Enum这么简单吗?

答案 2 :(得分:0)

我会在这里发表意见并建议您使用的表结构可能不是存储结果的最佳结构。一个原因是它不易扩展 - 如果你添加/减去你记录相关性的市场,你必须在物理上修改表。

我看到一个更好的结构来保存数据:

ID | Market1 | Market2 | Correlation
------------------------------------
 1 | Gold    |  Silver |  0.8
 2 | Gold    |  Bronze |  0.5
 3 | Silver  |  Bronze |  0.1
 etc

 With a Primary Key (PK) on (Market1, Market2)

这将处理您的所有数据,并允许您在将来轻松添加市场。缺点是您必须确保没有相同数据的多个条目,即“金 - 银”和“银 - 金”

使用此结构,您只需在表格中询问“Gold”和“Silver”的结果。

然而,产生所有市场的表格结果将会更复杂,我会将其留给另一个SO问题:D