[英]Cannot Convert type System.DateTime to String
我想在endA中添加35天,并将其存储在字符串AA中,并在我的if语句中使用该AA来比较今天的日期和AA中的日期,但在AA = Convert.ToDateTime(enddateA).AddDays(35);
行中AA = Convert.ToDateTime(enddateA).AddDays(35);
我收到一条错误消息:如果通过var A = Convert.ToDateTime(enddateA).AddDays(35);
操作,则无法将类型System.DateTime转换为String,它可以工作var A = Convert.ToDateTime(enddateA).AddDays(35);
但是我不能超出范围使用它。
string enddateA = "";
string dateNowA = "";
string AA = "";
string UPDATE_COMPLETE = String.Format("SELECT [FINAL_END_DATE] FROM [Campus6_convert].[dbo].[ACADEMICCALENDAR] where ACADEMIC_YEAR = '" + year + "' and ACADEMIC_TERM='" + academicterm + "' and ACADEMIC_SESSION='A'");
SqlCommand cmd = new SqlCommand(UPDATE_COMPLETE, con);
myReader = cmd.ExecuteReader();
while (myReader.Read())
{
enddateA = (myReader["FINAL_END_DATE"].ToString());
AA = Convert.ToDateTime(enddateA).AddDays(35);
dateNowA = DateTime.Now.ToString();
Console.WriteLine("" + AA + "");
}
myReader.Close();
cmd.ExecuteNonQuery();
cmd.Dispose();
con.Close();
if ( AA == dateNowA)
{
using (SqlConnection coe = new SqlConnection("server=fcpcdb02; database=campus6_convert; user id=""; password="";"))
{
coe.Open();
string UPDATE_COMPLETEE = String.Format("UPDATE [Campus6_convert].[dbo].[TRANSCRIPTDETAIL] SET FINAL_GRADE = 'F', REVISION_OPID='WFLOW', REVISION_DATE='" + revisiondate + "', REVISION_TIME='" + currentDateString + "' where FINAL_GRADE='I' and ACADEMIC_YEAR = '" + year + "' and ACADEMIC_TERM='" + academicterm + "' and ACADEMIC_SESSION='A'");
SqlCommand cd = new SqlCommand(UPDATE_COMPLETEE, coe);
cd.ExecuteNonQuery();
cd.Dispose();
coe.Close();
}
}
您将命令ToString()
错过了到addDays(35)
:
AA = Convert.ToDateTime(enddateA).AddDays(35).ToString()
顺便说一句: FINAL_END_DATE
是什么类型?
您的AA变量声明为“字符串”,命令“ Convert.ToDateTime(enddateA).AddDays(35)”将返回“ DateTime”实例,这就是为什么您无法将其分配给AA变量
您可以像声明“ var A =(...)”一样声明另一个“ DateTime”变量,也可以使用“ Convert.ToDateTime(enddateA).AddDays(35)”将其转换回字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.