2012-10-10 94 views
0

編輯#2插入和成標籤

我改了稱呼名字,因爲它不再代表 問題我問。事實證明我的問題是在c#winforms標籤中顯示& 符號。

Enter "&" symbol into a text Label in Windows Forms?

這就是答案,果然出了問題是重複的

這是我目前使用C#和SQL原

。我在寫入數據庫時​​沒有問題,當我使用MS SQL Server Manager檢查字段時,可以在varchar字段中看到&符號。但是當我用c#檢索它時,它似乎被省略了。

myTable.myColumn =" Me & You"; 

string testString=""; 
SQLConnection con = new SQLConnection(...) 
SQLCommand command=new SQLCommand("Select Top 1 * from myTable",con) 
SQLDataReader reader= command.ExecuteQuery() 
while (reader.read()) 
{ 
    testString=reader["myColumn"].ToString(); 
    MessageBox.Show(testString); 
} 

輸出=我你

我寫了這對飛,很可能是沒有語法正確。這是正常的輸出還是我可能在某處出錯?

編輯#1所以事實證明,MessageBox確實顯示&。加載的對象也包含&符號。即使是顯示符號的標籤在其.Text屬性中也包含&符號,例如。 myLabel.Text ==「我&你」。但屏幕上的顯示仍然說我你。所以這個問題與SQL沒有任何關係,但僅僅與Winforms有關,我會盡快刪除這個問題,除非其他人已經經歷過這種情況,並且可以提供一些見解來加速我的故障排除

+0

從數據庫中檢索&並沒有什麼特別之處。請記住它是HTML的特殊字符(如果這是相關的)。如果上述內容寫得很快並且不正確,那麼這是否意味着您沒有實際測試過它是否展現出您所描述的行爲?因爲如果你還沒有幫助你變得很難... – Chris

+0

這不是我用過的實際代碼,但這是我相信發生的事,或者我應該說是相信的。請參閱上面的編輯#1 –

+0

您將在使用符號之前使用替換字符串命令,然後分配變量 – jainvikram444

回答

1
myTable.myColumn =" Me & You"; 

string testString=""; 
SQLConnection con = new SQLConnection(...) 
SQLCommand command=new SQLCommand("Select Top 1 * from myTable",con) 
SQLDataReader reader= command.ExecuteQuery() 
while (reader.read()) 
{ 
    testString=reader["myColumn"].ToString().Replace("&","&&"); 
    MessageBox.Show(testString); 
} 
+0

完美即答案。我將與useMnemonic = false屬性的標籤,http://stackoverflow.com/questions/4325094/enter-symbol-into-a-text-label-in-windows-forms,因爲我會重新插入字符串回數據庫和那些&&會隨着時間的推移而加起來。 –

+0

歡迎您... – jainvikram444

2

我的猜測是&當您使用WinForms Label正被用作特殊字符。

其中:

我&您

成爲

enter image description here

而且

我& &您

成爲

enter image description here

但是,這並不適用於MessageBox.Show


If it's a label:

  • 與其他符號(& &)

  • 設置UseMnemonic該標籤逃脫它,則該標籤的所有&符號會按字面意思理解,你並不需要加倍他們(你失去了下劃線/接入鍵功能雖然)

+0

消息框確實有一個標籤來顯示消息。 – StingyJack

+0

請參閱編輯#1,但我認爲您正在進行某項操作,因爲它是我正在使用的標籤。該死的僞代碼,我應該使用原始的東西,但它是200行長 –

+0

在WinForms中用於標記以下字符作爲ALT快捷方式。 Windows中的默認設置使您只有按下ALT鍵才能看到帶下劃線的字符。聰明... :-) –

0

使用具有特殊意義的操作系統的字符,如「與」號(&)或分號(;),包圍字符在引號(「)。分隔符列可以是任何8位字符。

+0

但我從sql數據庫加載它,而不是硬編碼它? –

+0

設置您的字符介於'&' –