使用ODBC在asp.net中获取列名的最佳方法是什么?

时间:2009-02-02 15:19:57

标签: asp.net odbc

我有一个包含四列的数据库

level_1,level_2,level_3,level_4

还有id,name等,但目前只有这四个对我很​​重要。

我需要知道哪个列按列名称具有值'BOSS'。

例如,level_2可能具有值BOSS。我需要知道四列中的一列有代码BOSS,列名是列。

原因是我必须稍后更新这一行,但我永远不知道BOSS的价值在哪里。例如,它可以在level_4中。

我知道DataSet中有一个columnname属性,但我无法弄清楚如何在这里使用它。我无法发布我的代码,因为它有很多迭代,没有一个工作。我希望我忽略了一些显而易见的事情。

我正在使用ASP.NET 2.0和ODBC。

感谢您的任何想法。

只是为了澄清 - 我不需要知道如何获得列名本身。 columnname属性适用于此。我不知道哪个列将具有上面的BOSS值。一旦我确定我将获得columnname属性值。

我不知道哪个列会说BOSS的原因是因为还有其他值可以在四个中的任何一个中,所以数据输入人员必须选择一个打开的字段并输入代码 - 它是一个旧的数据库我继承的申请。

更新

这是我想出的。我不喜欢它,但在这里。它有效,但感觉不对:

        String[] myValues = new String[5] {"BOSS", "ANOTHERCODE", "ANOTHERCODE", "ANOTHERCODE", "ANOTHERCODE"};
        int x = 0;
            foreach (String level in myValues)
            {
                foreach (DataColumn dc in ds.Tables[0].Columns)
                {
                    String myColumnValue = ds.Tables[0].Rows[0][x].ToString();
                    if (myColumnValue == level)
                    { return ds.Tables[0].Columns[x].ColumnName; }
                    x += 1;
                }
                x = 0;
            }

2 个答案:

答案 0 :(得分:1)

好的,所以你有4列可以有值BOSS。我想解决问题的最佳方法是循环思考这4列,直到你得到Value BOSS,当你找到它时,将列名存储在一个变量上,这样你就可以在以后找回它。

答案 1 :(得分:0)

我不确定你需要什么...你的问题有点模糊......

如果需要访问列名,请执行以下操作:DataTable.Columns [columnNumber] .ColumnName