如何将asp.net c#中的Date与sql进行比较

本文关键字:sql 比较 Date 中的 asp net | 更新日期: 2023-09-27 17:58:30

我的表TimeTable中有两列

  1. start_date(格式为DD-MM-YYYY
  2. end_date

如果我从登录页面登录,我想检查当前日期是否在start_dateend_date之间;如果是,我可以登录。

如何在C#中进行比较。。asp.net。。?

我已成功在登录页面中打印当前日期。

lblMsg.Text= DateTime.Now.ToString("dd-MM-yyyy");  

我正在使用带有c#的asp.net

      start_date              end_date
8/2/2013 12:00:00 AM    10/2/2013 12:00:00 AM

以DD/MM/YYYY格式存储日期的代码

CultureInfo提供程序=CultureInfo.InvariantCulture;

        DateTime startdate = DateTime.ParseExact(tbstartdate.Text.ToString().Trim(), "dd/MM/yyyy", provider);
        DateTime enddate = DateTime.ParseExact(tbenddate.Text.ToString().Trim(),"dd/MM/yyyy",provider);
        string sql = "INSERT INTO TimeTable(start_date,end_date)"
     + "VALUES (@startdate,@enddate)";
        SqlConnection conn = new SqlConnection(ConnectionString);
        conn.Open();
        SqlCommand cmd = new SqlCommand(sql, conn);
        cmd.Parameters.Add("@startdate", SqlDbType.DateTime).Value = startdate;
        cmd.Parameters.Add("@enddate", SqlDbType.DateTime).Value = enddate;
        cmd.Prepare();
        n = cmd.ExecuteNonQuery();
        conn.Close();

登录页面上检查日期的代码

CultureInfo提供程序=CultureInfo.InvariantCulture;

        DateTime date = DateTime.ParseExact(DateTime.Now.ToString("dd/mm/yyyy"), "dd/MM/yyyy", provider);
      //  DateTime date=DateTime.Now.ToString("dd/mm/yyyy");
        string query1 = "select * from TimeTable where ((start_date >= @date1 and End_date<= @date2) and UserType=@type)";
        SqlConnection conn = new SqlConnection(ConnectionString);
        conn.Open();
        SqlCommand com = new SqlCommand(query1, conn);
        com.Parameters.Add("@type",dpusertype.SelectedItem.Text.ToString());
        com.Parameters.Add("@date1",date);
        com.Parameters.Add("@date2", date);
        com.CommandType = CommandType.Text;
        SqlDataAdapter da = new SqlDataAdapter(com);
        DataTable dt = new DataTable();
        da.Fill(dt);

`if(dt.Rows.Count>0)//比较表中的用户

        {
            FormsAuthentication.RedirectFromLoginPage(txtFcode.Text, Persist.Checked);
            Response.Redirect("~/DeptCoordinator/DeptCoordinator_homepage.aspx");  
        }

获取错误

日历System.Globalization.GregorianCalendar中不支持由字符串表示的DateTime。描述`

如何将asp.net c#中的Date与sql进行比较

您想要同步类型:

将c#日期转换为sql格式

var sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss");