如何将组合框的数据表示为整数

时间:2013-08-27 11:26:10

标签: c# winforms combobox

在我的项目中,有一个组合框“status”,其中三个值处于活动状态,处于活动状态和工作状态。根据要求,所选值应表示为整数,因此我编写了代码,以便存储所选值的索引。现在问题是,当我尝试在更新状态时从组合框中选择值时,它应该在列表视图中显示为值。如果我选择0,它应该显示为活动,1表示处于活动状态,2表示工作。 到目前为止我用来获取值的代码如下,请帮我将值转换为整数。

private void btnUpdateSupport_Click(object sender, EventArgs e)
        {
            SqlConnection con = Helper.getconnection();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandType = CommandType.Text;
            string SupportName = txtSupportName.Text;
            string SupportDesignation = txtSupportDesignation.Text;
            //string SupportStatus = txtSupportStatus.Text;
            string SupportStatus = cbSupportStatus.SelectedItem.ToString();
            //string SupportStatus = SqlCommand();
            int i = 0;
            string s = "Active";
            // string result = int.TryParse(s, out i);

            if (cbSupportStatus.SelectedItem != null)
            {
                int x = int.Parse(cbSupportStatus.SelectedItem.ToString());
            }
            else
            { //Value is null }

                cmd.CommandText = "Update Status1 set Designation='" + SupportDesignation + "', Status='" + SupportStatus + "' where Name= '" + SupportName + "' ";
                MessageBox.Show(cmd.CommandText);
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();

            }
        }

1 个答案:

答案 0 :(得分:2)

根据您的评论,组合框只有数字0,1和2

我假设这些数字从1个表单存储到数据库中(?),然后以另一种形式检索到你想要的地方:

  • 0 =有效
  • 1 =无效
  • 2 =正在工作

显示在列表框中

为什么不这样做:

string listVal = "";
if(storedVal == 0)
{
    listVal = "Active";
}
else if(storedVal == 1)
{
    listVal = "Inactive";
}
else if(storedVal == 2)
{
    listVal = "Working";
}

if(listVal != "")
{
    // add to listbox
}

EDIT 或者不是将数字存储在数据库中,而是存储其含义,然后只检索列表框的文本