Хранит ли SqlDataReader все как строку? - PullRequest
1 голос
/ 13 мая 2009

Я пытаюсь получить данные с помощью SqlDataReader, один столбец которого находится в datetime. Я хотел бы сделать что-то вроде этого

SqlCommand command = new SqlCommand("SELECT * FROM table", connection); //connection is defined earlier
        SqlDataReader data = command.ExecuteReader();
        while(data.Read()){
             DateTime birthday = data["Birth"];
             list.Add(birthday);
        }
    }

Могу ли я сделать это? Или SqlDataReader возвращает строки, и в этом случае я должен был бы создать новый объект DateTime, используя эту строку?

Спасибо, -S

Ответы [ 2 ]

7 голосов
/ 13 мая 2009

SqlDataReader возвращает данные в виде строго типизированных объектов - просто вызовите правильный метод, например ::

data.GetDateTime (порядковый)

4 голосов
/ 13 мая 2009

Вы хотите:

DateTime birthday = data.GetDateTime(data.GetOrdinal("Birth"));

SqlDataReader содержит целую связку строго типизированных методов Get * ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...