Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法将System.DateTime类型转换为字符串_C#_Datetime - Fatal编程技术网

C# 无法将System.DateTime类型转换为字符串

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

我想向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 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()