2014-08-27 170 views
-3

我試圖用一個文本框作爲搜索參數,在這裏尋找一個SQLite數據庫是我到目前爲止:Windows 8應用 - LINQ搜索結果

private async void search_Click(object sender, RoutedEventArgs e) 
    { 


     try 
     { 
      var dbpath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "hdw.sqlite"); 
      using (var db = new SQLite.SQLiteConnection(dbpath)) 
      { 
       //var d = from x in db.Table<Customers>() select x; 
       //var custSearchQuery = db.Table<Customers>().Where(x => x.customerName == TBSearch.Text); 

       string search = TBSearch.Text; 
       var custSearchQuery = from x in db.Table<Customers>() 
             where search.Contains(x.customerName) 
             select x; 

       customerList.Items.Clear(); 

       //customerList.ItemsSource = db.Table<Customers>(); 


       foreach (var sd in custSearchQuery) 
       { 

        customerList.Items.Add(sd.customerNumber.ToString()); 

       } 

       db.Dispose(); 
       db.Close(); 
      } 


     } 
     catch 
     { 
     } 
    } 

我試圖返回所有結果TBSearch值位於customerName字段中。

+0

,什麼是你的問題? – Servy 2014-08-27 16:22:21

+2

你不應該有一個空的catch塊。 – Servy 2014-08-27 16:23:35

+1

你爲什麼在'using'塊中調用'Dispose()'和'Close()'? – DGibbs 2014-08-27 16:24:13

回答

0

我現在的工作:

string search = TBSearch.Text; 

       var custSearchQuery = from c in db.Table<Customers>() 
             where c.customerName.Contains(search) 
             select c;