【问题标题】:How to get data on the calendar如何获取日历上的数据
【发布时间】:2021-02-15 06:00:30
【问题描述】:

示例代码运行良好,但我想从 db 中获取数据,该怎么做?

示例代码;(运行良好)

       CalendarEvent item = new CalendarEvent();

DateTime startDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, random.Next(1, 30));

item.id = random.Next(1, 100);
            item.start = startDate.ToString("s");
            item.end = startDate.AddDays(random.Next(1, 5)).ToString("s");
item.allDay = true;
            item.color = "blue";
            item.title = "Calendar Item " + item.id;
            eventItems.Add(item);

这是我的代码;(我的代码无法从 db 获取任何数据,问题出在哪里?)

            sql.Add("Select * from Calendar Where StartDate>=@StartDate and EndDate<=@EndDate");
            sql.CmdType = CommandType.Text;
            sql.Prameter("@id", item.id);
            sql.Prameter("@Title", item.title.ToString());
            sql.Prameter("@StartDate", item.start);
            sql.Prameter("@EndDate", item.end);
            sql.Prameter("@Color", item.color);
            sql.Prameter("@AllDay", item.allDay);

            eventItems.Add(item);

【问题讨论】:

  • sql.Prameter?
  • SQL 查询:Select * From Calendar Where StartDate>=@StartDate and EndDate
  • 您是否在 SQL Server Management Studio 中测试过查询。 SSMS 中的错误消息比 c# 好得多。
  • sql查询没有问题
  • “让他们在日历上”到底是什么意思?您的查询是否返回正确的行?这是从数据库中检索信息并在应用程序中以某种方式显示它的问题吗?还有什么?

标签: c# jquery sql asp.net sql-server


【解决方案1】:

请确保将startDateendDate 转换为日期时间格式(与数据库中startDateEndDate 的数据类型匹配)。可以使用自己的连接方式代替ConfigurationManager

DateTime startDate = Convert.ToDateTime(item.start);
DateTime endDate = Convert.ToDateTime(item.end);

string constring = ConfigurationManager.ConnectionStrings["{yourConnectionKey}"].ConnectionString;
using (SqlConnection con = new SqlConnection(constring))
{
    using (SqlCommand cmd = new SqlCommand("Select * from Calendar Where StartDate>=@StartDate and EndDate<=@EndDate", con))
    {
        cmd.CommandType = CommandType.Text;

        //Seems your query are only requesting @startDate and @EndDate
        //You can add the other requested parameters as your needed.
        //eg. cmd.Parameters.AddWithValue("@id", item.id); 
        cmd.Parameters.AddWithValue("@StartDate", startDate );
        cmd.Parameters.AddWithValue("@EndDate", endDate);

        con.Open();
        SqlDataReader reader = command.ExecuteReader();
         while (reader.Read())
         {
            Console.WriteLine(String.Format("{0}", reader[0]));
            //action for the result data...
         }
        con.Close();
    }
}

Click here to get more reference from Microsoft Doc

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多