我有一个代码:
DataRow[] ClassTime = DateTime.Tables["Table"].Select("ClassListingDate=" + Convert.ToDateTime(DDLClassDate.SelectedItem.Text) + "");
其中DateTime是包含ClassOffering
字段的数据集,该字段为日期类型且包含值为5/15/2007 12:00:00 AM
DDLClassDate.SelectedItem.Text contains a value 5/15/2007 12:00:00 AM
执行上述行后,它会抛出异常Missing operand after '12' operator
。
它是什么类型的例外?我该怎么做才能解决这个问题。谢谢你的帮助。
答案 0 :(得分:3)
对于DataTabe.Select
列的DateTime
,您应将DateTime
的值括在单引号中。
DataRow[] ClassTime = DateTime.Tables["Table"]
.Select("ClassListingDate='" +
Convert.ToDateTime(DDLClassDate.SelectedItem.Text) + "'");
不确定为什么DataSet
被命名为DateTime
考虑以下示例:
DataTable dt = new DataTable();
dt.Columns.Add("ClassListingDate", typeof(DateTime));
DateTime dtNow = DateTime.Now.Date;
dt.Rows.Add(DateTime.Now.Date);
dt.Rows.Add(DateTime.Now.Date.AddDays(1));
dt.Rows.Add(DateTime.Now.Date.AddDays(-1));
DataRow[] ClassTime =dt.Select("ClassListingDate='" + dtNow + "'");
^^^^ ^^^^^
//Single quotes
以上内容会在ClassTime
中返回一行