我在12日後的日期後檢索日期時出現問題。例如:如果我從calander擴展程序單擊:2/7/2013至19/7月/ 2013,是否會拋出這個錯誤:日曆System.Globalization.GregorianCalendar中不支持該字符串表示的DateTime。日曆中不支持字符串System.Globalization.GregorianCalendar
這是我的代碼。
var format = "MM/dd/yyyy";
DateTime one = DateTime.ParseExact(startdate, format, CultureInfo.InvariantCulture);
DateTime two = DateTime.ParseExact(enddate, format, CultureInfo.InvariantCulture);
if (two >= one)
{
SqlConnection conn = new SqlConnection("Data Source=""catalog="";Integrated Security=True");
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT Name,CLass, NRIC, StallNo, AmountSpent ,TimeDate=convert(nvarchar,timedate,103) FROM StudentTransactions WHERE TimeDate BETWEEN '" + one + "' AND '" + two + "'", conn);
SqlDataReader reader = cmd.ExecuteReader();
GridView1.DataSource = reader;
GridView1.DataSourceID = null;
GridView1.Visible = true;
GridView1.DataBind();
conn.Close();
}
有你看着'ParseExact'? http://msdn.microsoft.com/en-us/library/ms131038.aspx –
是。它不起作用 –
您應該使用參數,而不是強制將'one'和'two'任意轉換回查詢中的字符串。 –