'12'运算符后缺少操作数

时间:2013-05-20 07:34:57

标签: asp.net c#-4.0 datatable dataset datarow

我有一个代码:

 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。 它是什么类型的例外?我该怎么做才能解决这个问题。谢谢你的帮助。

1 个答案:

答案 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中返回一行 enter image description here