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

Storing DateTime variable into local C# variable

我相信我的问题可能看起来很业余,但我的 objective 是从我的数据库中获取 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列的值。但是我收到

exception of type 'System.FormatException' occurred in mscorlib.dll but was not handled in user code

Additional information: The string was not recognized as a valid DateTime. There is an unknown word starting at index 0.

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

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

您正在尝试将单词 "Date" 转换为日期,但这行不通。

试试

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

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

首先,您没有使用 dru1 做任何事情。

在此处查看如何使用 reader SqlDataReader Class

其次,由于你的日期字段是数据类型DateTime,转换它没有意义;这是一个日期。

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

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();