C# 从组合框中获取字符串值以用于数据库比较的最佳方法
我有一个在表单加载事件中填充的组合框。当然,这些值是字符串格式的。他们的信息在组合框中显示为1-info。我想将第一个数字与数据库中的值进行比较。然后根据找到的值填充表单上的字段。这是我到目前为止所拥有的。我已经能够把它转换回int 32了C# 从组合框中获取字符串值以用于数据库比较的最佳方法,c#,asp.net,c#-4.0,combobox,C#,Asp.net,C# 4.0,Combobox,我有一个在表单加载事件中填充的组合框。当然,这些值是字符串格式的。他们的信息在组合框中显示为1-info。我想将第一个数字与数据库中的值进行比较。然后根据找到的值填充表单上的字段。这是我到目前为止所拥有的。我已经能够把它转换回int 32了 if (cmboBoxPreviousVersion.SelectedItem != null) { string[] s = cmboBoxPreviousVersion.Items[cmboBoxPreviousV
if (cmboBoxPreviousVersion.SelectedItem != null)
{
string[] s = cmboBoxPreviousVersion.Items[cmboBoxPreviousVersion.SelectedIndex].ToString().Split(' ');
int id = Convert.ToInt32(s[0]);
Item.FormatID = data.FormatID;
Item.FormatName = data.FormatName;
Item.FormatDescription = data.FormatDescription;
Item.StockID = data.StockID;
Item.PrintPlantCode = (bool)data.PrintPlantCode;
Item.PrintWeight = (bool)data.PrintWeight;
Item.PrintPrice = (bool)data.PrintPrice;
rChkBoxPlantCode.Checked = Item.PrintPlantCode;
rChkBoxPrintPrice.Checked = Item.PrintPrice;
rChkBoxWeight.Checked = Item.PrintWeight;
cmboBoxStock.Items.Add(Item.StockID);
rTxtBoxDescription.Text = Item.FormatDescription;
}
rChkBoxPlantCode.Enabled = false;
rChkBoxPrintPrice.Enabled = false;
rChkBoxWeight.Enabled = false;
有什么建议吗?谢谢大家。如果你需要任何其他信息或澄清让我知道
添加了combox填充方法
try
{
List<PreviousVersionData> listID = PreviousVersionData.getDatabase();
if (listID != null)
{
foreach (PreviousVersionData l in listID)
{
cmboBoxPreviousVersion.Items.Add(string.Format("{0} - {1}", l.FormatID, l.FormatName));
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
试试看
{
List listID=PreviousVersionData.getDatabase();
if(listID!=null)
{
foreach(listID中的PreviousVersionData l)
{
添加(string.Format(“{0}-{1}”,l.FormatID,l.FormatName));
}
}
}
捕获(例外情况除外)
{
MessageBox.Show(例如Message);
}
我会使用:
int id;
bool result = Int32.TryParse(s[0], out id);
现在,result
如果能够解析该值而不引发异常,则具有true/false。我将使用:
int id;
bool result = Int32.TryParse(s[0], out id);
现在,
result
如果能够解析值,则具有true/false,不引发异常。如果你不用于其他目的,那么最好将数字存储在那里。如果你不用于其他目的,那么最好将数字存储在那里。为什么不将数字保留在combobox的id字段中?@jim我使用一个类来运行查询。我将使用填充方法更新“他们的信息显示为1-info…我想获取第一个数字并将其与我的数据库中的值进行比较。”但您在“不是”-”上拆分。此外,您将获取空格前的每个字符,而不仅仅是第一个数字。你是指数字吗?你的实际问题是什么。我不清楚。组合框中的每个项目都有文本和值属性。该值通常用于保留项的ID,以便您可以使用它来标识所选项。@Harrison正在试图找出一种用数据库中的数据填充表单字段的方法。“-”上的分隔符很有用,我会这样做的。我不知道如何实现它。为什么不在combobox的id字段中保留数字?@jim我使用一个类来运行查询。我将使用填充方法更新“他们的信息显示为1-info…我想获取第一个数字并将其与我的数据库中的值进行比较。”但您在“不是”-”上拆分。此外,您将获取空格前的每个字符,而不仅仅是第一个数字。你是指数字吗?你的实际问题是什么。我不清楚。组合框中的每个项目都有文本和值属性。该值通常用于保留项的ID,以便您可以使用它来标识所选项。@Harrison正在试图找出一种用数据库中的数据填充表单字段的方法。“-”上的分隔符很有用,我会这样做的。我不确定如何实现它。为什么要使用该方法而不是我的方法?@charmingferno TryParse将始终处理异常,因为您没有可转换字符串。为什么要使用该方法而不是我的方法?@charmingferno TryParse将始终处理异常,因为您没有可转换字符串。