我有一个数据库,我从它的数据通过dataTableReader。
我想当你从数据库中获得它们时,你会得到它们作为object
,不确定,但可以肯定的是,它不是我在数据库中设置它们的变量。
所以我在数据库中只使用了int
和varchar
,所以我通过使用toString()
和int.parse()
来转换它们。现在我需要使用一个datetime变量。
我怎么能得到它从数据库作为日期时间或转换为日期时间,而不是字符串(使用toString()
)?谢谢你的帮助
在大多数情况下应该这样做:
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设计(名称)