Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.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# 如何比较今天';s日期与Excel列的日期一起显示在今天';s在C中输入数据#_C#_Excel_Datagridview_Oledb - Fatal编程技术网

C# 如何比较今天';s日期与Excel列的日期一起显示在今天';s在C中输入数据#

C# 如何比较今天';s日期与Excel列的日期一起显示在今天';s在C中输入数据#,c#,excel,datagridview,oledb,C#,Excel,Datagridview,Oledb,我需要将今天的日期与Excel中的日期进行比较,以便在DataGridView中显示今天输入的所有数据。我已经尝试了许多代码迭代,但仍然会收到错误,有些并没有显示所需的结果。代码如下: private void todayToolStripMenuItem_Click(object sender, EventArgs e) { int day = todaysDate.Day ; int month =todaysDate.Month;

我需要将今天的日期与Excel中的日期进行比较,以便在DataGridView中显示今天输入的所有数据。我已经尝试了许多代码迭代,但仍然会收到错误,有些并没有显示所需的结果。代码如下:

 private void todayToolStripMenuItem_Click(object sender, EventArgs e)
    {

        int day = todaysDate.Day ;
        int month =todaysDate.Month;
        MessageBox.Show("Month" + month+ "Date" + day, "abc", MessageBoxButtons.OK);
        int year = todaysDate.Year;

        String name = "Sheet1";
        OleDbConnection con = new OleDbConnection(constr);
       OleDbCommand oconn = new OleDbCommand("Select * From [" + name + "$] WHERE Date CONTAINS " + day + "AND Date CONTAINS " + month +
            "AND Date CONTAINS " + year, con);

        try
        {
            con.Open();
        }
        catch (Exception)
        {

        }

        OleDbDataAdapter sda = new OleDbDataAdapter(oconn);
        DataTable data = new DataTable();
        sda.Fill(data);
        dataGridView1.DataSource = data;
    }
提前感谢。

更新 使用带参数的查询,而不是将值注入字符串。这对我来说很好:

OleDbCommand oconn = new OleDbCommand("Select * From [Sheet1$] WHERE Date = @date");
oconn.Connection = connection;
try
{
    oconn.Parameters.AddWithValue("@date", DateTime.Now.ToString("MM/dd/yyyy"));
    connection.Open();
    OleDbDataAdapter sda = new OleDbDataAdapter(oconn);
    DataTable data = new DataTable();
    sda.Fill(data);
    connection.Close();
}
catch (Exception)
{

}
更新 使用带参数的查询,而不是将值注入字符串。这对我来说很好:

OleDbCommand oconn = new OleDbCommand("Select * From [Sheet1$] WHERE Date = @date");
oconn.Connection = connection;
try
{
    oconn.Parameters.AddWithValue("@date", DateTime.Now.ToString("MM/dd/yyyy"));
    connection.Open();
    OleDbDataAdapter sda = new OleDbDataAdapter(oconn);
    DataTable data = new DataTable();
    sda.Fill(data);
    connection.Close();
}
catch (Exception)
{

}

它的“给定错误”条件表达式中的数据类型不匹配它没有给出任何output@Tasneem这对我有效,
数据
得到了正确的行。请检查您的excel文件。您有今天日期的记录吗?是的,我刚刚添加了recordLet us。它的给出错误“条件表达式中的数据类型不匹配它未提供任何output@Tasneem这对我有用,
数据
得到正确的行。检查您的excel文件。你有今天的记录吗?是的,我刚刚添加了recordLet。