将 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();
我相信我的问题可能看起来很业余,但我的 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();