使用dataTableReader从数据库获取datetime变量

时间:2014-03-30 16:41:39

标签: c# sql datetime

所以我有一个数据库,我从中得到了dataTableReader的数据。

我认为当你从数据库中获取它们时,你会将它们作为object得到它们,但不确定,但确定它不是我将它们设置在数据库中的变量。

所以我只在数据库中使用intvarchar,因此我使用toString()int.parse()对其进行了转换。现在我需要使用datetime变量。

我如何从数据库中获取日期时间或将其转换为日期时间而不是字符串(使用toString())?感谢您的帮助

3 个答案:

答案 0 :(得分:2)

  

我如何从数据库中获取它作为日期时间或将其转换为   datetime而不是string(使用toString())?

解决方案1:如果您将日期值存储为DateTime类型,则可以使用Convert.ToDateTime()方法直接转换为DateTime

试试这个:

DataReader dr = new DataReader();
DateTime dt;
while(dr.Read())
{
dt = Convert.ToDateTime(dr["DateColumn"]);
}

解决方案2 :如果您以dd-MM-yyyy VARCHAR等固定格式存储日期,则可以使用DateTime.ParseExact()方法

试试这个:

DataReader dr = new DataReader();
DateTime dt;
while(dr.Read())
{
dt = DateTime.ParseExact(dr["DateColumn"].ToString(),"dd-MM-yyyy HH:mm:ss",
                                                 CultureInfo.InvariantCulture);
}

答案 1 :(得分:2)

尝试Convert.ToDateTime(myDataReader[i]),其中i是列的索引。

答案 2 :(得分:1)

在大多数情况下应该这样做:

var datetime = DateTime.Parse("string");

字符串是保存在数据库中的字符串