2015-03-02 29 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