2015-03-02 68 views
0

我的C#程序已連接到我的SQL CE數據庫。我使用SQLCEDATAREADER填充程序中的一些文本框。我在我的數據庫中有一個「性別」列,還有一個男性和女性的單選按鈕。如果我的數據庫中的某個條目在性別列中有「M」,我如何才能讓男性單選按鈕顯示爲按下?在C#RadioButton上顯示SQL信息

我試圖

if(dr["Gender"].ToString = "M") 
{ 
    rbMale = true 
} 

這顯然沒有工作。

+2

你是什麼_didn't WORK_是什麼意思?你得到任何異常或錯誤信息? '='是一個assingment操作符,如果你想比較你的字符串,你需要使用'=='代替。由於'ToString'是一種方法,因此您需要將它用作'ToString()'。 'rbMale = true'需要在行尾加'''。 – 2015-03-02 08:51:39

+0

正確的語法應該是'if(dr [「Gender」]。ToString()==「M」){rbMale = true; }'但是我們需要更多關於你的問題的信息。 – 2015-03-02 08:55:51

+0

好吧它說 「不能隱式轉換類型'布爾'到'System.Windows.Forms.RadioButton」 – 2015-03-02 08:58:54

回答

1
if(dr["Gender"].ToString() = "M") 
    rbMale.Checked = true 
else 
    rbFemale.Checked = true 
+0

如果dr [「Gender」]爲空,該怎麼辦? ;) – JoeBilly 2015-03-02 11:44:23

+0

if(!string.isNullOrEmpty(dr [「Gender」]。ToString())): – 2015-03-06 11:11:31

+0

'if(Convert.ToString(dr [「Gender」])==「M」)' – JoeBilly 2015-03-09 08:58:23

0

如果rbMale是單選按鈕控件的名稱,可以將其標記爲Checked屬性設置爲true

rbMale.Checked = true;

1

也許崩一條線 -

rbMale.Checked = (Convert.ToString(dr["Gender"])=="M"); 
+0

這個答案是明確更好。 :一行布爾情感,不能拋出一個NullReferenceException('dr [「Gender」]'null)。外部的'()'不是必須的,但它使得代碼不易讀。少即是多;)然而,有一點,如果提問者不想改變方框的狀態,如果'false':這段代碼就可以做到。 – JoeBilly 2015-03-02 11:38:48