Показать или перечислить значение ячейки данных по имени столбца - PullRequest
0 голосов
/ 19 января 2011
.
.
.
OleDbDataReader getme = cmd.ExecuteReader();
           while (getme.Read())
            {
                MessageBox.Show(getme.GetString(1));
            }
.
.
.

Я использовал getme.GetString (1), чтобы показать значение определенной ячейки из таблицы в окне сообщения. Я открыл базу данных, как обычно, и у меня нет таблицы данных.

Как использовать имя столбца вместо целочисленного идентификатора, GetString (1) или GetInt32 (0) или т. Д.?

не возможно выбрать столбец с именем столбца вместо числового значения?

Я делаю это в C # .NET.

Ответы [ 2 ]

0 голосов
/ 19 января 2011

Проверьте это: http://msdn.microsoft.com/en-us/library/system.data.common.dbdatareader.getordinal%28v=VS.80%29.aspx

Используйте метод GetOrdinal.

0 голосов
/ 19 января 2011

Вы можете сделать это двумя способами:

getMe.GetOrdinal("column_name") возвращает индекс, который будет использоваться для GetString GetInt32 и т. Д. Если вы сделаете это, вы можете сэкономить некоторое время, выполнив его за пределами while loop.

OleDbDataReader getMe = cmd.ExecuteReader();
int index = getMe.GetOrdinal("column_name");
while (getme.Read())
{
    MessageBox.Show(getMe.GetString(index));
}

OleDbDataReader (ваш, getMe) определяет индексатор.Вы можете использовать getMe["column_name"], а затем просто привести его к нужному типу объекта:

OleDbDataReader getMe = cmd.ExecuteReader();
while (getme.Read())
{
    MessageBox.Show((string)getMe["column_name"]);
}

См. oleDbDataReader

...