0

我的应用程序是一个使用 NPGSQL 和 POSTGRESQL 的 ASP.Ne/C# 项目。我在名为deskCal.aspx 的网页上有一个日历控件在OnDayRender事件中我有以下内容:

protected void CalRender(object sender, DayRenderEventArgs e)
    { 
    if (e.Day.Date == new DateTime(2018,12,11))
        {
            Literal TheLit = new Literal();
            TheLit.Text = "<br> X";
            e.Cell.Controls.AddAt(1, TheLit);
        }

    }

这会在 2018 年 12 月 11 日的单元格中放置一个“X” 像这样: 现在,我希望得到相同的结果,但不想输入我想从 SQL 查询中获取值的特定日期。但是,我不知道该怎么做。这是我到目前为止所拥有的:
2018 年 12 月 11 日的价值

    protected void CalRender(object sender, DayRenderEventArgs e)
        { 
             NpgsqlConnection con = new NpgsqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MydatabBase"].ConnectionString);
             string SelDate = "SELECT thedate FROM tbldateholder WHERE thedate = '2018-11-12' "
             NpgsqlCommand getthedate = new NpgsqlCommand(SelDate,con)

              if (e.Day.Date == NOT SURE WHAT TO DO HERE)
              {
                Literal TheLit = new Literal();
                TheLit.Text = "<br> X";
                e.Cell.Controls.AddAt(1, TheLit);
              }

          }

我应该做一个读者然后通过那个结果吗?

4

1 回答 1

1

要基于 SQL 查询执行此操作,这对我有用。

 protected void CalRender(object sender, DayRenderEventArgs e)
        {
            con.Open();
            string  cmdRead = "SELECT theday FROM mytable Where theday = '2018-12-11'";
            NpgsqlCommand thedate = new NpgsqlCommand(cmdRead, con);
            var seeme = thedate.ExecuteScalar();
            DateTime dt = Convert.ToDateTime(seeme);
            if (e.Day.Date == dt)
                {
                    Literal TheLit = new Literal();
                    TheLit.Text = "<br> X";
                    e.Cell.Controls.AddAt(1, TheLit);
                }
            con.Close();

        }
于 2018-12-13T12:39:56.263 回答