1. 程式人生 > 其它 >Silverlight學習(四) domainservice動態多條件查詢

Silverlight學習(四) domainservice動態多條件查詢

上次講了silverlight+MVVN+EF的簡單框架,能夠實現簡單的資料CURD,但是多條件動態的查詢一直沒有實現。在網上查閱了很多資料,發現自己走了很多誤區,程式碼很難除錯正確。

這次的查詢是基於上次的查詢,只是增加了一個查詢條件,動態多條件的查詢的重點是獲取查詢的語言。

 1    private string GetSql()
 2         {
 3             string query = "1=1";
 4             if (!string.IsNullOrEmpty(searchText.name))
 5             {
 6                 query += string.Format(" and it.name like '%{0}%'",searchText.name);
 7 
 8             }
 9             else if (!string.IsNullOrEmpty(searchText.age))
10             {
11                 query += string.Format("and it.age like '%{0}%'",searchText.age);
12             }
13             return query;
14         }

這裡動態獲取查詢語言,網上有多程式碼,我都沒有除錯通過,尤其是it.name.Contains(),不知道是為什麼這樣寫總是出錯,只有變換的通過it.name like ‘%%’ 這樣的語句實現了。

查詢的按鈕依然是通過繫結事件命令實現的。

1     public ICommand OnSearch { get; set; }
2         public void SearchData(object obj)
3         {
4             //searchText = obj.ToString();
5            UserList= GetQueryList();
6       
7         }

前臺的xaml語言依舊是MVVM設計模式,這裡的兩個textbox均繫結後臺的屬性。

1 <TextBox Text="{Binding UserInfo.age,Mode=TwoWay}" Width="100" HorizontalAlignment="Left" x:Name="txtage" Height="30"></TextBox>
2         <TextBox Text="{Binding UserInfo.name,Mode=TwoWay}" Width="100" Margin="105,0,195,0" x:Name="txtname" Height="30"></TextBox>