Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.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# 日期时间加载_C#_Asp.net - Fatal编程技术网

C# 日期时间加载

C# 日期时间加载,c#,asp.net,C#,Asp.net,我正在尝试将此输出放在我的标签中 示例:2016年4月20日 但我得到的是2016年4月20日1200:00:AM 我试图修改它,但无法找出这个错误 方法的无重载包含1个参数 由该代码引起的 这是全部代码 private void GetData() { SqlConnection con = new SqlConnection("Data Source = localhost\\SQLEXPRESS;Initial Catalog = MejOnlineManagem

我正在尝试将此输出放在我的标签中 示例:2016年4月20日 但我得到的是2016年4月20日1200:00:AM

我试图修改它,但无法找出这个错误

方法的无重载包含1个参数 由该代码引起的

这是全部代码

 private void GetData()
    {
        SqlConnection con = new SqlConnection("Data Source = localhost\\SQLEXPRESS;Initial Catalog = MejOnlineManagementDB00;Integrated Security=True;");
        con.Open();
        SqlCommand cmd = new SqlCommand(@"SELECT orderProdName,orderProdType,orderQuantity,orderStatus,orderDateOrdered
                                        FROM orders2
                                        WHERE orderCustomer='"+DropDownList1.SelectedItem.Value.ToString()+"'",con);
        SqlDataReader rdr = cmd.ExecuteReader();
        if (rdr.HasRows)
        {
            while (rdr.Read())
            {
                lblProdName.Text = rdr.GetValue(0).ToString();
                lblProdType.Text = rdr.GetValue(1).ToString();
                lblQuantity.Text = rdr.GetValue(2).ToString();
                lblStatus.Text = rdr.GetValue(3).ToString();
                lblDate.Text = rdr.GetValue(4).ToString("MMMM d,yyyy");
            }
        }
        con.Close();
    }
rdr.GetValue(int32)
方法返回一个
对象,而不是
DateTime


将返回的值解析为
DateTime
对象,然后使用
ToString
方法。

问题是您正在使用该方法。此方法没有参数。如果要将其转换为日期,可以尝试以下操作:

DateTime dt = DateTime.Parse(rdr.GetValue(4).ToString())
lblDate.Text = dt.ToString("MMMM d,yyyy");
编辑: 请注意,如果数据库中的date列包含null值,parse方法将抛出异常。所以测试null是强制性的

String s = Convert.ToString(rdr.GetValue(4));
if(!String.IsNullOrEmpty(s))
{
   DateTime dt = DateTime.Parse(s);
   lblDate.Text = dt.ToString("MMMM d,yyyy");
}

这仅适用于DateTime值,您可以先在DateTime中转换该值:

lblDate.Text = Convert.ToDateTime(rdr.GetValue(4)).ToString("MMMM d,yyyy");
lblDate.Text = Convert.ToDateTime(rdr.GetValue(4)).ToString("MMMM d,yyyy");