У меня есть база данных, которая имеет четыре столбца, как это
уровень_1, уровень_2, уровень_3, уровень_4
Есть также идентификатор, имя и т. Д., Но только эти четыре имеют значение для меня на данный момент.
Мне нужно знать, какой столбец по имени столбца имеет значение BOSS.
Например, level_2 может иметь значение BOSS. Мне нужно знать, что один из четырех столбцов имеет код BOSS и какой столбец, по имени столбца, это.
Причина в том, что мне придется позже обновить эту строку, но я никогда не знаю, где будет значение BOSS. Например, это может быть уровень_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;
}