2016-07-26 63 views
0

我有一個填充我的下拉框nvarchar的值不會過濾數據,在拉丁美洲它

using (SqlConnection conn = new SqlConnection(ConString)) 
{ 
    // DO REMEMBER TO OPEN THE CONNECTION!!! 
    conn.Open(); 

    // Connection Established 
    SqlCommand command = new SqlCommand("SELECT * FROM monitoring", conn); 

    using (SqlDataReader reader = command.ExecuteReader()) 
    { 
     while (reader.Read()) 
     { 
      string item = reader[11].ToString(); 
      comboBoxPretraga.Items.Add(item); 
     } 
    } 
} 

同樣的方法,我有一個DropDownClosed event.It應該接受來自組合的值,並基於該值來填充來自同一行的數據的文本框。

using (SqlConnection conn = new SqlConnection(ConString)) 
{ 
    conn.Open(); 

    // Connection Established 
    SqlCommand command = new SqlCommand("SELECT * FROM monitoring monitoring where konzervator_ime_prezime='" + comboBoxPretraga.Text + "'", conn); 

    using (SqlDataReader reader = command.ExecuteReader()) 
    { 
     while (reader.Read()) 
     { 
      string tlo = reader[2].ToString(); 
      textBox_TloI.Text = tlo; 
     } 
    } 
} 

當我啓動我的應用程序時,正確的值在組合框中。 但是,當我選擇一個cyrilic的值(例如:фдгдфгд)時,textBox_TloI不會獲取任何數據。 但是,當我選擇一個拉丁值,它工作正常。問題是在組合框的值。因爲,如果我從組合中選擇拉丁文,它會在文本框中顯示cyrilic。 它似乎沒有得到正確的cyrilic價值從組合框過濾.. 幫助,有人嗎?

+1

[參數SQL:只說是(https://codeblog.jonskeet.uk/2014/08/ 08/The-bobbytables-culture /) – ASh

+1

嘗試在xx = N'some文本處做什麼' – Steve

+0

[SQL注入警報](http://msdn.microsoft.com/en-us/library/ms161953%28v=sql。 105%29.aspx) - 你應該**不**連接在一起你的SQL語句 - 使用**參數化查詢**,而不是避免SQL注入 –

回答

0

當你設置文本框的TXT,您可能需要設置文化信息的

string tlo = reader[2].ToString(CultureInfo.CurrentCulture); 
+0

有這個問題..它說沒有重載方法ToString需要1個參數.. – nscott23

+0

看看這個鏈接[CultureInfo](https://msdn.microso ft.com/en-us/library/system.globalization.cultureinfo.aspx) – bilpor

相關問題