以字符串形式从数据库获取日期

本文关键字:数据库 获取 取日期 字符串 | 更新日期: 2023-09-27 18:02:10

我正试图从我的数据库中获取日期为字符串,并将其与今天的日期进行比较,以执行一些操作。我所做的作为一个解决方案,但标签仍然没有显示消息。

                      if (FileUpload1.PostedFile != null)
    {
        string FileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
        //Save files to disk
        FileUpload1.SaveAs(Server.MapPath("Files/" + FileName));
        string FilePath = "Files/" + FileName;
        //SqlCommand cmd = new SqlCommand();
        DAL obj = new DAL();
        using (SqlConnection conn = obj.openCon())
        {
            String sql = "Select DueDate from tbl_AssignmentUpload1 where AssignmentTitle like '" + AssignmentTitle + "'";
            SqlCommand cmd = new SqlCommand(sql, conn);
            SqlDataReader dr = cmd.ExecuteReader();
            DateTime duedate = new DateTime() ;

            if (dr != null && dr.HasRows)
            {
                while (dr.Read())
                {
                    duedate = dr.GetDateTime(0);
                }
                dr.Close();
                // now check if today greater than due date and update
                if (duedate != null && today.Date > duedate)
                {
                    sql = "Insert into tbl_AssignmentSubmit( Name ,AridNumber, Shift , Degree , Course , FileName ,FilePath ) values ('" + txt_Name.Text + "' , '" + txt_AridNumber.Text + "', '" + shift + "', '" + Degree + "', '" + Course + "','" + FileName + "','" + FilePath + "')";
                    cmd = new SqlCommand(sql, conn);
                    cmd.ExecuteNonQuery();
                }
                else
                {
                    lbl_uploaded.Text = "Assignment can not be Submitted.You crossed the due date.";
                }
            }
        }
    }

以字符串形式从数据库获取日期

你必须从tbl_AssignmentUpload1中得到DueDate。例如:

string strSQL = "Select DueDate from tbl_AssignmentUpload1 where AssignmentTitle like          @AssignmentTitle ";
(SqlCommand myCommand = new SqlCommand(strSQL, cnn)) // Cnn is your sql connection
{ 
  myCommand.Parameters.AddWithValue("@AssignmentTitle", AssignmentTitle );
  using (SqlDataReader reader = myCommand.ExecuteReader())
  {
    while (reader.Read())
    {
     DateTime today1 = Convert.ToDateTime(reader["DueDate "].ToString());
    }
  }
}

在此之后,您可以执行insert语句

试试这样做。

                using (SqlConnection conn = SQL.GeSQLConnection())
                {
                    String sql = "Select DueDate from tbl_AssignmentUpload1 where AssignmentTitle like '" + AssignmentTitle + "'";
                    SqlCommand cmd = new SqlCommand(sql, conn);
                    SqlDataReader dr = cmd.ExecuteReader();
                    DateTime duedate = new DateTime();
                    if (dr != null && dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            duedate = dr.GetDateTime(0);
                        }
                        dr.Close();
                        // now check if today greater than due date and update
                       if(duedate != null && DateTime.Today > duedate)
                       {
                        sql = "Insert into tbl_AssignmentSubmit( Name ,AridNumber, Shift , Degree , Course , FileName ,FilePath ) values ('" + txt_Name.Text + "' , '" + txt_AridNumber.Text + "', '" + shift +"', '" + Degree + "', '" + Course + "','" + FileName + "','" + FilePath + "')";
                        cmd = new SqlCommand(sql, conn);
                        cmd.ExecuteNonQuery();
                      }
                      else
                      {
                        lbl_uploaded.Text = "Assignment can not be Submitted.You crossed the due date.";
                      }
                    }
                    else
                      {
                        lbl_uploaded.Text = "No Due date was selected for the given assesment title";
                      }
                }