2013-10-28 57 views
0

我有一個表單,用戶鍵入一個名稱,並根據該名稱選擇所有內容,理想情況下,我希望能夠擁有它,以便從數據庫如果鍵入的名字的一半,或只是一個性格讓大家誰第一個名字是戴維等選擇字符串是否類似於數據庫中的字段

try 
{ 
    this.access_PermissionTableAdapter.FillBy(
     this.vehicleManagementDataSet.Access_Permission, 
     this.userNameToolStripTextBox.Text); 
} 
catch (System.Exception ex) 
{ 
    System.Windows.Forms.MessageBox.Show(ex.Message); 
} 

這將選擇當名字的拼寫字母字母但如果是局部類型的各個領域。我一直在看C#提供的方法,如contains和starswith,但都不合適。

有沒有一種方法可以選擇名稱與輸入的內容類似?

+0

你想要[LIKE](http://www.tutorialspoint.com/sql/sql- like-clause.htm)條款,我不能真正回答你的問題,因爲你不說你需要什麼類型的搜索,即開始,結尾等。 – James

+0

@詹姆斯是啊我知道我必須在SQL中只是不在C#中對我來說是一種新語言。我認爲startswith將是最好的方法,但我不知道該方法如何工作 – Crouch

+0

我以爲你是從C#訪問存儲過程。你在尋找像Linq這樣的實體嗎?您在當前顯示的代碼幾乎沒有用處... – James

回答

1

試試這個:

SELECT * FROM tbl_yourtable t WHERE t.columnname LIKE '%' + @searchstring + '%' 
+0

花了我一段時間瞭解我如何更改tableAdapter以適應我的需求,因此延遲響應。我是新來的C#你看到和即時編輯某人elses代碼。歡呼聲 – Crouch

1

試試這個:

SELECT * 
    FROM TABLE1 
    WHERE COL1 LIKE '%TYPED NAME%' 
+0

這將證明對某人有用,但來自P5Coder的答案讓我得到了我需要的東西,但是這指出了我朝着正確的方向爲你的幫助而歡呼 – Crouch

2

如果你有一個強類型數據集,您可以創建自己的自定義查詢(在你的情況,我會打電話查詢StartingWith,其中的SQL代碼由另外兩個響應給出,並且它將生成一個名爲FillByStartingWith的方法)。有關如何執行此操作的說明,請參閱http://msdn.microsoft.com/en-us/library/kda44dwy(v=vs.80).aspx

+1

你的幫助和P5Coder答案的混合讓我在那裏最後歡呼夥計 – Crouch

0

如果您想在c#字符串上使用SQLLIKE運算符,請使用Contains方法。如果你想達到的Amirreza Keshavarz的結果或不使用一個數據庫,然後使用LINQ對象P5Coder答案,幷包含方法

List<string> myStringList = new List<string>(); 
//fill the list 

例如你有一個字符串列表。

IEnumerable<string> result = myStringList.Where(ms => ms.Contains("typed string")); 

如果你想,只是與輸入字符串開始字符串,然後用這個:

IEnumerable<string> result = myStringList.Where(ms => ms.StartsWith("typed string")); 
+0

乾杯的幫助,我需要使用數據庫做它,但它總是我可以參考回來,如果我曾經需要它 – Crouch

+0

然後爲什麼不只是使用LIKE運算符(就像其他人說的那樣)? – jannagy02

+0

我在做,我是C#的新手,我已經被賦予了一些代碼來改善我知道的邏輯,它只是習慣C#如何工作以及視覺工作室如何工作 – Crouch

相關問題