C# ASP日历无法正常工作

C# ASP日历无法正常工作,c#,asp.net,oracle,gridview,calendar,C#,Asp.net,Oracle,Gridview,Calendar,我在ASP.net C前端和Oracle 11g后端创建了一个网页。 网页由一个ASP日历、两个DropDownList和一个GridView组成。根据日期和下拉列表的选择,数据将显示在GridView中。但当我选择任意组合时,数据不会显示在网格视图中。然而,当我通过sqldeveloper在数据库中编写相同的查询时,即从WI_托盘中选择托盘号、数据STS、合并、工厂CD、班次、机架号,其中PROD_CD='PET'和输入DT,如'24-06-15%';从数据库检索数据 using System

我在ASP.net C前端和Oracle 11g后端创建了一个网页。 网页由一个ASP日历、两个DropDownList和一个GridView组成。根据日期和下拉列表的选择,数据将显示在GridView中。但当我选择任意组合时,数据不会显示在网格视图中。然而,当我通过sqldeveloper在数据库中编写相同的查询时,即从WI_托盘中选择托盘号、数据STS、合并、工厂CD、班次、机架号,其中PROD_CD='PET'和输入DT,如'24-06-15%';从数据库检索数据

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OracleClient;
using System.Data;
using System.Configuration;
using System.Drawing;
using System.IO;

public partial class _Default : System.Web.UI.Page
{
DataSet ds = new DataSet();
OracleConnection con = new OracleConnection("Data Source=10.31.41.103/ORCL;User ID=RL_PET;Password=RL_PET;Unicode=True");

protected void Page_Load(object sender, EventArgs e)
{

}

protected void Button1_Click1(object sender, EventArgs e)
{
    Label1.Visible = false;

    if (DropDownList1.Text == "Store In" && DropDownList2.Text == "ALL")
    {

        con.Open();
        OracleDataAdapter a = new OracleDataAdapter("SELECT PALLET_NO, DATA_STS, MERGE, PLANT_CD, SHIFT, RACK_NO FROM WI_PALLET WHERE PROD_CD = 'PET' AND INPUT_DT LIKE '"+ Calendar1.SelectedDate.Date+"%' ORDER BY PALLET_NO ASC", con);
        a.Fill(ds);
        int count = ds.Tables[0].Rows.Count;
        Label1.Text = count.ToString();
        Label1.Visible = true;
        GridView1.DataSource = ds;
        GridView1.DataBind();
        GridView1.Visible = true;
        con.Close();
    }
    else if (DropDownList1.Text == "Store In")
    {
        con.Open();
        OracleDataAdapter a = new OracleDataAdapter("SELECT PALLET_NO, DATA_STS, MERGE, PLANT_CD, SHIFT, RACK_NO FROM WI_PALLET WHERE PROD_CD = 'PET' AND  INPUT_DT LIKE '" + Calendar1.SelectedDate.Date+"%' AND SHIFT = '" + DropDownList2.Text + "' ORDER BY PALLET_NO ASC", con);
        a.Fill(ds);
        int count = ds.Tables[0].Rows.Count;
        Label1.Text = count.ToString(); 
        Label1.Visible = true;
        GridView1.DataSource = ds;
        GridView1.DataBind();
        GridView1.Visible = true;
        con.Close();

    }
 }
 }

我是这样使用日历控件的

//front end aspx page
    <asp:Calendar ID="Calendar1" runat="server"  
               SelectionMode="Day" 
               ShowGridLines="True">
//aspx.cs file
    Label1.Text = "The selected date is " + Calendar1.SelectedDate.ToShortDateString();
检查它是否对你有帮助

Lable1.Text = Calendar1.Selected.ToString("dd-MMMM-yyyy");
OracleDataAdapter a = new OracleDataAdapter("SELECT PALLET_NO, DATA_STS, MERGE, PLANT_CD, SHIFT, RACK_NO FROM WI_PALLET WHERE PROD_CD = 'PET' AND trunc(TO_DATE(INPUT_DT)) = '"+ Lable1.Text+"' ORDER BY PALLET_NO ASC", con);
这是为我工作。
感谢@shreesha提供的链接

当您在oracle数据库管理器中运行此查询时,它在那里工作吗?如果没有,您会收到什么错误消息?在您的SQL developer中,不可能使用了如此不同的日期格式,这导致了差异吗?@SonerGönül当我启动此查询时,从WI_PALLET中选择PALLET_NO、DATA_STS、MERGE、PLANT_CD、SHIFT、RACK_NO,其中PROD_CD='PET'和INPUT_DT,如'24-06-15%';在sqldeveloper中,正在从中检索数据database@G在SQLDeveloper中,我可以通过进入工具>首选项>数据库>NLS设置日期格式并设置日期Format@user2374666据我所知,问题在于你的代码。可能是'Calendar1.SelectedDate.Date'的ToString格式不正确。正在标签上获取日期,但没有按照日期从数据库中获取数据。最好在将查询传递给OracleDataAdapter之前检查查询。将查询分配给字符串变量,然后将其传递给适配器。我已检查了所有日期组合…但仍然没有获取数据数据…想再清除一件事输入字段数据类型是日期和存储的数据,如**18-07-14 19:48:51**这意味着日期和时间在同一单元格中…我从sqldevloper中选择了这种格式…我不知道默认情况下如何在oracle中存储日期时间数据…oracle中的日期总是有一个日期组件和一个时间组件。你必须从datetime提取日期部分。检查链接