Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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# 检查给定日期是否在fromdate到todate之间_C#_Asp.net_Dataset_Datarowview - Fatal编程技术网

C# 检查给定日期是否在fromdate到todate之间

C# 检查给定日期是否在fromdate到todate之间,c#,asp.net,dataset,datarowview,C#,Asp.net,Dataset,Datarowview,我的数据集格式如下所示 EMPNAME FRMDATE TODATE ANU 01-10-2012 01-20-2012 HARI 01-05-2012 02-05-2012 现在通过文本框获取特定员工的输入,如01-17-2012 我的问题是:如何检查i/p日期是否在数据集中的这两列(FRMDATE、TODATE)之间?试试这个 DataRow []_dr= ds.Tables[0].Select( inputDate +"&g

我的数据集格式如下所示

EMPNAME      FRMDATE      TODATE
ANU          01-10-2012   01-20-2012 
HARI         01-05-2012   02-05-2012
现在通过文本框获取特定员工的输入,如
01-17-2012

我的问题是:如何检查i/p日期是否在数据集中的这两列(FRMDATE、TODATE)之间?

试试这个

DataRow []_dr= ds.Tables[0].Select( inputDate +">= FRMDATE AND "+inputDate +" <= TODATE");

DataRow[]\u dr=ds.Tables[0]。选择(inputDate+“>=FRMDATE和“+inputDate+”我相信下面的方法会对您有所帮助,有关比较日期的额外阅读材料,请查看以下两个线程:

使用系统;
使用系统数据;
使用System.Data.SqlClient;
使用System.Web.Configuration;
public bool IsDateInRange(字符串日期,字符串employeeId)
{
DateTime dateToCompare=DateTime.MinValue;
bool-isInRange=false;
如果(!String.IsNullOrEmpty(日期)和&!String.IsNullOrEmpty(员工ID)&&
DateTime.TryParse(date,out dateToCompare))
{
DataTable=新的DataTable();
string connectionString=WebConfiguration Manager.connectionString[“conn”]。connectionString;
使用(SqlConnection连接=新的SqlConnection(connectionString))
{
connection.Open();
使用(SqlCommand=newsqlcommand())
{
command.Connection=连接;
command.CommandText=“从EMPNAME=@EMPNAME的EmployeeDates中选择TOP 1*”;
command.Parameters.AddWithValue(“@EmpName”,employeeId);
SqlDataAdapter=新SqlDataAdapter(命令);
适配器。填充(表格);
DateTime fomDate=(DateTime)表。行[0][“FRMDATE”];
DateTime toDate=(DateTime)表。行[0][“toDate”];
//DateTime.Ticks将日期转换为长时间
//现在,您可以简单地比较输入日期是否在所需范围内
如果(dateToCompare.Ticks>=fomDate.Ticks&&dateToCompare.Ticksdb.clubposant.Where(p=>p.CreateDate>=\u FromDate&&p.CreateDate p.MablaghVariz),则通过降序(p=>p.Shomarehesab.ToList()

using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.Configuration;


public bool IsDateInRange(string date, string employeeId)
{
    DateTime dateToCompare = DateTime.MinValue;
    bool isInRange = false;

    if (!String.IsNullOrEmpty(date) && !String.IsNullOrEmpty(employeeId) &&
        DateTime.TryParse(date, out dateToCompare))
    {
        DataTable table = new DataTable();
        string connectionString = WebConfigurationManager.ConnectionStrings["conn"].ConnectionString;
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();
            using (SqlCommand command = new SqlCommand())
            {
                command.Connection = connection;
                command.CommandText = "SELECT TOP 1 * FROM EmployeeDates WHERE EMPNAME = @EmpName";
                command.Parameters.AddWithValue("@EmpName", employeeId);
                SqlDataAdapter adapter = new SqlDataAdapter(command);
                adapter.Fill(table);

                DateTime fomDate = (DateTime)table.Rows[0]["FRMDATE"];
                DateTime toDate = (DateTime)table.Rows[0]["TODATE"];

                //DateTime.Ticks converts a date into long
                //Now you can simply compare whether the input date falls between the required range
                if (dateToCompare.Ticks >= fomDate.Ticks && dateToCompare.Ticks <= toDate.Ticks)
                {
                    isInRange = true;
                }
                connection.Close();
            }
        }
    }
    return isInRange;
}