使用datatableereader从数据库获取日期时间变量

本文关键字:取日期 时间 变量 获取 数据库 datatableereader 使用 | 更新日期: 2023-09-27 17:54:58

我有一个数据库,我从它的数据通过dataTableReader。

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

所以我在数据库中只使用了intvarchar,所以我通过使用toString()int.parse()来转换它们。现在我需要使用一个datetime变量。

我怎么能得到它从数据库作为日期时间或转换为日期时间,而不是字符串(使用toString())?谢谢你的帮助

使用datatableereader从数据库获取日期时间变量

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

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

保存在数据库中的字符串

我如何从数据库中获得它作为日期时间或将其转换为datetime而不是字符串(使用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);
}

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

试试这个dateTimePicker_dob.Value = Convert.ToDateTime(dr[i].ToString());

在这里i是你的DB列的索引和dateTimePicker_dob是你的dateTimePicker设计(名称)