我想在我的标签示例中使用此输出:2016年4月20日,但我得到4/20/2016:1200:00:AM
我试图修改它,但无法解决这个错误
没有方法的重载需要1个参数导致此代码
lblDate.Text = rdr.GetValue(4).ToString("MMMM d,yyyy");
Run Code Online (Sandbox Code Playgroud)
这是整个代码.
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();
}
Run Code Online (Sandbox Code Playgroud)
问题是您正在使用Object.ToString()方法.这个方法没有参数.如果要将其转换为日期,可以尝试这样做:
DateTime dt = DateTime.Parse(rdr.GetValue(4).ToString())
lblDate.Text = dt.ToString("MMMM d,yyyy");
Run Code Online (Sandbox Code Playgroud)
请注意,如果数据库中的日期列包含空值,则解析方法将引发异常.因此必须测试null.
String s = Convert.ToString(rdr.GetValue(4));
if(!String.IsNullOrEmpty(s))
{
DateTime dt = DateTime.Parse(s);
lblDate.Text = dt.ToString("MMMM d,yyyy");
}
Run Code Online (Sandbox Code Playgroud)