C# 无法将System.DateTime类型转换为字符串
我想向endA添加35天,并将其存储在字符串AA中,并在if语句中使用该AA来比较今天的日期和AA中的日期 但是在行C# 无法将System.DateTime类型转换为字符串,c#,datetime,C#,Datetime,我想向endA添加35天,并将其存储在字符串AA中,并在if语句中使用该AA来比较今天的日期和AA中的日期 但是在行AA=Convert.ToDateTime(enddateA).AddDays(35)我收到一个错误,说无法将type System.DateTime转换为String如果我通过var A=Convert.ToDateTime(enddateA).AddDays(35)进行转换,它就会工作但是我不能在范围之外使用它 string enddateA = ""; string date
AA=Convert.ToDateTime(enddateA).AddDays(35)
我收到一个错误,说无法将type 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)
的命令:
顺便问一下:什么类型的FINAL\u END\u DATE
顺便说一句:什么是FINAL\u END\u DATE
?您的AA变量被声明为“string”,命令“Convert.ToDateTime(enddateA).AddDays(35)”将返回一个“DateTime”实例,这就是为什么您不能将其分配给AA变量的原因
您可以声明另一个“DateTime”变量,就像您在“var A=(…)”中所做的那样,或者您可以使用“convert.ToDateTime(enddateA).AddDays(35)”将其转换回字符串。您的AA变量声明为“string”,命令“convert.ToDateTime(enddateA).AddDays(35)”将返回一个“DateTime”实例,这就是为什么不能将其分配给AA变量的原因
您可以声明另一个“DateTime”变量,就像您对“var A=(…)”所做的那样,或者您可以使用“convert.ToDateTime(enddateA).AddDays(35)”将其转换回字符串。数据库中最终日期的数据类型是什么?AA
是一个字符串,您说的是convert.ToDateTime(enddateA).AddDays(35)代码>返回课程日期。将AA声明为DateTime
或调用.AddDays(35).ToString()
,代码中就有了SQL注入。数据库中最终结束日期的数据类型是什么?AA
是一个字符串,您说的是Convert.ToDateTime(enddateA).AddDays(35)代码>返回课程日期。将AA声明为DateTime
或调用.AddDays(35).ToString()
,代码中就有了SQL注入。这是真的,但缺乏一点解释。这是真的,但缺乏一点解释。太棒了!如果您想使用DateTime方法,只需添加信息:DGreat!只需添加信息,以防您想要使用DateTime方法:D
AA = Convert.ToDateTime(enddateA).AddDays(35).ToString()