Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将数据从SQL数据库获取到表单中的几个组合框_C#_Sql - Fatal编程技术网

C# 如何将数据从SQL数据库获取到表单中的几个组合框

C# 如何将数据从SQL数据库获取到表单中的几个组合框,c#,sql,C#,Sql,关于我的申请 它存储汽车服务中心的客户信息、车辆详细信息和服务详细信息 我所做的 我在SQL数据库中有一个表,用于存储(城市、州、Pincode……)的名称 我有一个表单,它将TblState,TblCity中的值加载到CustomerEntry(表单) 这是代码。。。它工作得很好 private void CustomersEntry_Load(object sender, EventArgs e) { cn = new SqlConnection(

关于我的申请

它存储汽车服务中心的客户信息、车辆详细信息和服务详细信息

我所做的

  • 我在SQL数据库中有一个表,用于存储(城市、州、Pincode……)的名称
  • 我有一个表单,它将
    TblState
    TblCity
    中的值加载到
    CustomerEntry
    (表单)
这是代码。。。它工作得很好

private void CustomersEntry_Load(object sender, EventArgs e)
        {
            cn = new SqlConnection(@"Data Source=Nick-PC\SQLEXPRESS;Initial Catalog=AutoDB;Integrated Security=True");
            cmd = new SqlCommand("select * from TblState", cn);
            cn.Open();
            SqlDataReader dr;

            try
            {
                dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    SelectState.Items.Add(dr["State"].ToString());
                }

            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            finally
            {
                cn.Close();
            }
结果

  • CustomerEntry
    从SQL获取数据,并在下拉列表中返回数据
  • 我有一个
    子表单
    向SQL数据库添加新数据,它工作正常并保存数据
我的问题

当我尝试在
子窗体中添加新的状态名并保存它时,它不会反映
CustomerEntry
中的更改,除非我关闭并重新打开它


是否有一种方法可以在
子表单
关闭后立即刷新
客户尝试?

关闭
子表单
时,您只需刷新下拉列表。将查询置于
子表单
关闭事件时刷新下拉数据。。。一切都会好起来的

      private void Sub_FormClosed(object sender, FormClosedEventArgs e)
     {
              CustomerEntry_Load(object sender, EventArgs e);
              //or it may be your logic to refresh the code on CustomerEntryForm
     }

关闭
子窗体
时,您只需刷新下拉列表即可。将查询放入
子窗体
的关闭事件中以刷新下拉数据。。。一切都会好起来的

      private void Sub_FormClosed(object sender, FormClosedEventArgs e)
     {
              CustomerEntry_Load(object sender, EventArgs e);
              //or it may be your logic to refresh the code on CustomerEntryForm
     }

在子窗体关闭时打开CustomerEntryform时,您可以发布代码吗?我在CustomerEntry窗体中使用了一个引用:public form RefToMmenu{get;set;},在子窗体中,我在点击save按钮时将代码与SQL和CustomerEntry窗体的链接组合在一起//这是我在下面的答案中输入的代码…跟随它,您将启动并运行…//代码部分请尝试{int res=cmd.ExecuteNonQuery();if(res>0){this.RefToCustomerEntry.Show();this.Close();MessageBox.Show(“数据已成功存储”);}在子窗体关闭时打开CustomerEntryform时是否可以发布代码?我在CustomerEntry窗体中使用了一个引用:公共窗体RefToMmenu{get;set;}在子窗体中,我在单击“保存”按钮时将代码与SQL和CustomerEntry窗体的链接组合在一起。//这是我在下面的答案中输入的代码……按照它,您将启动并运行……//代码部分请尝试{int res=cmd.ExecuteNonQuery();如果(res>0){this.RefToCustomerEntry.Show();this.Close();MessageBox.Show(“数据已成功存储”);}CustomerEntry.ActiveForm.Refresh()..................这行吗?对不起,兄弟,我是C新手,我正在使用youtube和类似的论坛学习我的每一个步骤,而且到目前为止都很成功。你能举个例子吗?@DominicDeepan.d:..添加了示例代码..希望你现在能为你的应用程序解决..T.q我一定会尝试一下,让你知道CustomersEntry.ActiveForm.Refresh().....................这行吗?对不起,兄弟,我是C的新手,我正在使用youtube和类似的论坛学习我的每一个步骤,到目前为止都很成功。你能举个例子吗?@DominicDeepan.d:...添加了示例代码..希望你现在能为你的应用程序解决..T.q我一定会尝试一下,让你知道