SqlDataReader是否将所有内容存储为String?

时间:2009-05-13 01:33:33

标签: c# sql

我正在尝试使用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 个答案:

答案 0 :(得分:7)

SqlDataReader将数据作为强类型对象返回 - 只需调用正确的方法,例如:

data.GetDateTime(有序)

答案 1 :(得分:4)

你想:

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

SqlDataReader有一个whole bunch强类型的Get *()方法。