将DateTime变量存储到本地C#变量中

时间:2016-03-19 07:27:04

标签: c# sql-server datetime formatexception

我相信我的问题可能看似业余,但我的目标是从我的数据库中获取DateTime数据并将其存储到本地变量中。我的代码段已在下面添加:

string checkdu1 = "select Top 1 Date from CF";
SqlCommand cmdd = new SqlCommand(checkdu1, con);
SqlDataReader dru1 = cmdd.ExecuteReader();
DateTime d1 = Convert.ToDateTime("Date");          //error here

数据库名称为CF,要检索Date列的值。但我得到了一个

  

类型' System.FormatException'的异常发生在mscorlib.dll中但未在用户代码中处理

     

其他信息:字符串未被识别为有效的DateTime。从索引0开始有一个未知单词。

数据库中Date的数据类型为DateTime

我找不到合适的答案,我们将不胜感激。

4 个答案:

答案 0 :(得分:2)

您正在尝试转换单词"日期"到了一个没有开始工作的日期。

尝试类似

的内容
DateTime d1 = dru1.GetDateTime(dru1.GetOrdinal("Date"));

答案 1 :(得分:1)

首先,您没有使用dru1进行任何操作。

在此处查看如何使用阅读器SqlDataReader Class

其次,由于您的日期字段是数据类型 DateTime ,因此将其转换是没有意义的;这是约会。

答案 2 :(得分:0)

我认为这应该有效DateTime dt = Convert.ToDateTime(dru1["Date"]);

答案 3 :(得分:0)

根据您的代码示例,您有两种选择:

1使用DataReader

string checkdu1 = "select Top 1 Date from CF";
SqlCommand cmdd = new SqlCommand(checkdu1, con);
SqlDataReader dru1 = cmdd.ExecuteReader();
DateTime d1;
if(dru1.Read()) d1 = dru1.GetDateTime(0); 

2使用ExecuteScalar

string checkdu1 = "select Top 1 Date from CF";
SqlCommand cmdd = new SqlCommand(checkdu1, con);
DateTime d1 = (DateTime) cmdd.ExecuteScalar();