none
怎样用DomainDataSource.FilterDescriptor查询数据库表中某字段为Null的记录? RRS feed

  • 问题

  • <riaControls:DomainDataSource.FilterDescriptors>
     <riaControls:FilterDescriptor PropertyPath="AA" Operator="Contains" Value="{Binding ElementName=textBoxAA, Path=Text}" />
     <riaControls:FilterDescriptor PropertyPath="BB" Operator="Contains" Value="{Binding ElementName=textBoxBB, Path=Text}" /> 
    </riaControls:DomainDataSource.FilterDescriptors>
    

    就是找出满足AND条件的记录。但只在textBoxAA上输入,那么它查询到的是字段AA包含textBoxAA.Text’的记录,它找不到BB为Null的记录。

    其实这个问题可以简化为怎样查询is null的记录。TextBox里输入的东西怎样变成where col is null or col='' 这样的查询条件?

     

    2010年8月24日 1:13

答案

  •  条件1:

    <riaControls:DomainDataSource.FilterDescriptors>
     <riaControls:FilterDescriptor PropertyPath="FirstName" Operator="Contains" Value="{Binding ElementName=textBoxFirstName, Path=Text}" />
     <riaControls:FilterDescriptor PropertyPath="LastName" Operator="Contains" Value="{Binding ElementName=textBoxLastName, Path=Text}" />
    </riaControls:DomainDataSource.FilterDescriptors>
    

     结果1:

     条件2:

    <riaControls:DomainDataSource.FilterDescriptors>
     <riaControls:FilterDescriptor PropertyPath="FirstName" Operator="Contains" Value="{Binding ElementName=textBoxFirstName, Path=Text}" IgnoredValue="" />
     <riaControls:FilterDescriptor PropertyPath="LastName" Operator="Contains" Value="{Binding ElementName=textBoxLastName, Path=Text}" />
    </riaControls:DomainDataSource.FilterDescriptors>
    

    结果2:

     条件3:

     <riaControls:DomainDataSource.FilterDescriptors>
     <riaControls:FilterDescriptor PropertyPath="FirstName" Operator="Contains" Value="{Binding ElementName=textBoxFirstName, Path=Text}" IgnoredValue="" />
     <riaControls:FilterDescriptor PropertyPath="LastName" Operator="Contains" Value="{Binding ElementName=textBoxLastName, Path=Text}" IgnoredValue="" />
    </riaControls:DomainDataSource.FilterDescriptors>
    

     结果3:

    2010年8月24日 6:03