简体   繁体   English

无法将类型System.DateTime转换为String

[英]Cannot Convert type System.DateTime to String

I want to add 35 days to endA and store it in string AA and use that AA in my if statement to compare today's date and date in AA But in the line AA = Convert.ToDateTime(enddateA).AddDays(35); 我想在endA中添加35天,并将其存储在字符串AA中,并在我的if语句中使用该AA来比较今天的日期和AA中的日期,但在AA = Convert.ToDateTime(enddateA).AddDays(35);行中AA = Convert.ToDateTime(enddateA).AddDays(35); I get an error saying Cannot Convert type System.DateTime to String it works if I do it through var A = Convert.ToDateTime(enddateA).AddDays(35); 我收到一条错误消息:如果通过var A = Convert.ToDateTime(enddateA).AddDays(35);操作,则无法将类型System.DateTime转换为String,它可以工作var A = Convert.ToDateTime(enddateA).AddDays(35); but than i cannot use it out of the scope. 但是我不能超出范围使用它。

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

You miss the command ToString() to your addDays(35) : 您将命令ToString()错过了到addDays(35)

AA = Convert.ToDateTime(enddateA).AddDays(35).ToString()

BTW: What is the type of FINAL_END_DATE ? 顺便说一句: FINAL_END_DATE是什么类型?

Your AA variable is declared as "string", the command "Convert.ToDateTime(enddateA).AddDays(35)" will return a "DateTime" instance, that's why you cannot assign it to the AA variable 您的AA变量声明为“字符串”,命令“ Convert.ToDateTime(enddateA).AddDays(35)”将返回“ DateTime”实例,这就是为什么您无法将其分配给AA变量

You can declare another "DateTime" variable, like you did with "var A = (...)" or you can convert it back to string with "Convert.ToDateTime(enddateA).AddDays(35)" 您可以像声明“ var A =(...)”一样声明另一个“ DateTime”变量,也可以使用“ Convert.ToDateTime(enddateA).AddDays(35)”将其转换回字符串。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM