在我的项目中,有一个组合框“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();
}
}
答案 0 :(得分:2)
根据您的评论,组合框只有数字0,1和2
我假设这些数字从1个表单存储到数据库中(?),然后以另一种形式检索到你想要的地方:
显示在列表框中
为什么不这样做:
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 或者不是将数字存储在数据库中,而是存储其含义,然后只检索列表框的文本