如何将组合框中选定值的数据从一种形式传输到另一种形式

本文关键字:一种 传输 另一种 数据 组合 | 更新日期: 2023-09-27 18:04:55

我有一个显示公司信息的winform和一个显示该公司委托的组合框如果我选择其中一个委托并单击所选委托的编辑按钮,另一个表单应该显示所选委托的信息,允许我修改信息;公司和委托表之间的公共键是id,所以如何做到这一点??

这是我编辑公司的代码

     delIdVar = Convert.ToInt32(compDelcombox.SelectedValue);              
     DelEditFrm delEditFrm = new DelEditFrm(delIdVar);
     delEditFrm.Show();

,这是委托编辑表单

构造函数的代码
public DelEditFrm(int delIdVar)
  {
     InitializeComponent();
     int delId = delIdVar; 
  }

最后这些代码用于加载列数据到textBoxes在我的委托编辑表单加载事件

     private void DelEditFrm_Load(object sender, EventArgs e)
        {
            try
            {
                cn.Open();
                cmd = new SqlCommand("select delName,delAdd,delPhone1,delPhone2 from delegate where delId= ' delId  '", cn);
                dr = cmd.ExecuteReader();
                dr.Read();
                delEditNametxt.Text = dr["delName"].ToString();
                delEditAddtxt.Text = dr["delAdd"].ToString();
                delEditPhone1txt.Text = dr["delPhone1"].ToString();
                delEditPhone2txt.Text = dr["delPhone2"].ToString();
            }
            catch(SqlException ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                dr.Close();
                cn.Close();
            }
        }  

当我试图编辑所选的委托时,它给了我一个异常"转换失败时转换varchar值'delId'到数据类型int",但dilId列在我的表是int类型

如何将组合框中选定值的数据从一种形式传输到另一种形式

基本思想是:

  1. 将委托映射到id。(这可以存储或查询,如果它真的是一个数据库)
  2. 当选择委托时,触发对该id的查找并填充对话框的字段。(同样,查找或查询)
  3. 记录对话框关闭时的变化。(a)修改该项