1

我有一个像这样的代码:

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

4

1 回答 1

5

对于DataTabe.SelectforDateTime列,您应该将值括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 在此处输入图像描述

于 2013-05-20T07:42:03.050 回答