如題:
我有一日期型字段date,我現在的過濾條件是要年份等於2005的顯示出來,在MSDN中看到可以用Convert函,我現在是寫成如下:
string filter="2005";
myDataView.RowFilter="convert(date,'System.String')='"+filter+"'";
不會出錯,但是過濾的結果是全部過濾了,而並不是我要查詢的,暈,在RowFilter中如何使用函數呀?

解决方案 »

  1.   

    convert(date,'System.String')转换出来的是带时分秒的如:2005-09-23 12:01:12
    你在用一个substring()节出前几位年号吧
      

  2.   

    试试:
    string filter = "2005";
    myDataView.RowFilter = "YEAR(date)=" + filter;
      

  3.   

    myDataView.RowFilter应该="列名='2005'";
    你弄两个值去比较个啥...
      

  4.   

    myDataView.RowFilter="convert(date,'System.String')='"+filter+"'";
    改为
    myDataView.RowFilter="convert(date,'System.String') LIKE '"+filter+"'";
      

  5.   

    樓上的,substring()、Year()等函數是未定義的函數,出錯呀。
    to:先知
    你說的用
    myDataView.RowFilter="convert(date,'System.String') LIKE '"+filter+"'";
    這個方法是正確的,至于以上所說的函數,我是用2003版的,不知道你們是否是2005版中可以,我就不知道了