当前位置: 首页 > 知识库问答 >
问题:

从组合框 1 获取组合框 2 的值

金健
2023-03-14

我的表单上有2个组合框(在表单加载事件中)。第一个组合框在表单加载后从选择语句中获取一个值。我想在我的第二个组合框中使用该值。这是我的代码:

1st组合框= cbDelivery

        OracleConnection conn = new OracleConnection();
        conn.ConnectionString = "User Id=christob;Password=CHRISTOB;Host=poseidon;Pooling=true;Min Pool    Size=0;Max Pool Size=100;Connection Lifetime=0;Port=1522;Sid=GLODCD";

        conn.Open();

        string query;
        query = "select distinct dd.delivery_bay_code from dc_delivery dd, dc_grv dg where delivery_complete_datetime is null and dd.dc_delivery_id_no = dg.dc_delivery_id_no and dd.delivery_announce_datetime is null";
        OracleCommand cmd = new OracleCommand(query, conn);
        OracleDataReader dr = cmd.ExecuteReader();
        while (dr.Read())
        {
            cbDelivery.Items.Add(dr["delivery_bay_code"]);
        }
        dr.Close();
        conn.Close();

2de组合框= cbOrderNo

此组合框位于:

private void CB delivery _ selectedindex changed(对象发送方,事件参数e)

因此,一旦我从1ste组合框中选择一个值,我的第二个组合框查询就必须填充第二个组合框。见代码:

        OracleConnection conn = new OracleConnection();
        conn.ConnectionString = "User Id=christob;Password=CHRISTOB;Host=poseidon;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;Port=1522;Sid=GLODCD";
        conn.Open();
        string query1;
        query1 = "select distinct dg.order_no from dc_delivery dd, dc_grv dg where delivery_complete_datetime is null and dd.dc_delivery_id_no = dg.dc_delivery_id_no and dd.delivery_announce_datetime is null and dd.delivery_bay_code = " + cbDelivery.Text;
        OracleCommand cmd1 = new OracleCommand(query1, conn);
        OracleDataReader dr1 = cmd1.ExecuteReader();
        while (dr1.Read())
        {
            cbOderNo.Items.Add(dr1["order_no"]);

        }
        dr1.Close();
        conn.Close();

请注意,我在第二个选择查询中使用了cbDrovery组合框。

问题是:一旦我从第一个组合框中选择一个值,第二个组合框就会给出异常“”ORA-00904:“BAY1”:无效标识符。

请帮我整理一下,或者建议一种不同的方法

提前感谢。

共有2个答案

澹台鸿光
2023-03-14

固定!!我是这样做的:

private void populateDeliveryBayCodes()
    {
        conn.Open();
        string query;
        query = "select distinct dd.delivery_bay_code from dc_delivery dd, dc_grv dg where dd.delivery_complete_datetime is null and dd.dc_delivery_id_no = dg.dc_delivery_id_no and dd.delivery_announce_datetime is null";
        OracleCommand cmd = new OracleCommand(query, conn);
        OracleDataReader dr = cmd.ExecuteReader();
        while (dr.Read())
        {
            cbDelivery.Items.Add(dr["delivery_bay_code"]);
        }
        dr.Close();
        conn.Close();
    }

    private void populateOrderNumbers()
    {
        conn.Open();
        string query;
        query = "select distinct dg.order_no from dc_delivery dd, dc_grv dg where dd.delivery_complete_datetime is null and dd.dc_delivery_id_no = dg.dc_delivery_id_no and dd.delivery_announce_datetime is null and dd.delivery_bay_code ='" + cbDelivery.Text + "' order by order_no";
        OracleCommand cmd = new OracleCommand(query, conn);
        OracleDataReader dr = cmd.ExecuteReader();
        while (dr.Read())
        {
            cbOderNo.Items.Add(dr["order_no"]);
        }
        dr.Close();
        conn.Close();
    }

private void frmBuiltPallet_Load(object sender, EventArgs e)
    {
        populateDeliveryBayCodes();
    {

private void cbDelivery_SelectedIndexChanged(object sender, EventArgs e)
    {
        populateOrderNumbers();
    }
经福
2023-03-14

可能是您的查询使用了sql或oracle的某个关键字作为列名或位于某个无效位置。在这种情况下,这种类型的错误是可能的。我对这个解决方案没有把握。但至少我们可以尝试一次。这样我们才能确定它是否正确?

 类似资料:
  • 问题内容: 我需要获取Swing中组合框的整数值。 我已经为combobox设置了一个整数值作为id。我尝试了combobox.getSelectedItem()和combobox.getSelectedIndex(),但是它无法获取int值。 下面是我的代码: 任何帮助表示赞赏。 问题答案: 方法返回一个按类型包装的值,因此您必须进行相应的转换。 句法:

  • 问题内容: 我使用Tkinter在python中制作了一个简单的组合框,我想检索用户选择的值。搜索后,我认为可以通过绑定选择事件并调用将使用box.get()之类的函数来实现此目的,但这不起作用。程序启动时,将自动调用该方法,并且不打印当前选择。当我从组合框中选择任何项目时,不会调用任何方法。这是我的代码片段: 当我从框中选择一个项目时,应该调用此方法: 谁能告诉我如何获得选定的值? 编辑:我通过

  • 我有2个组合盒主从这样: 但当我在第一个组合框中选择一个项目时,它有空的“项目”列表,而我已经用“项目”选择了其中一个项目,并在第二个组合框选择了项目。第二个组合框中的文本不为空。我也尝试过使用IsSynchronizedWithCurrentItem=“False”。 是什么问题呢?

  • 我有两个组合框。我正在填充这样的两个组合框。组合框1和2的名称是cmbpartyName和cmbprefPT2。 在这里,我从combox1中选择一个值,在它所选的索引更改事件中,如下所示。 由于两个组合框具有相同的值,如何从第二个组合框cmbPrefPT2中删除第一个组合框的选定值?

  • 我使用Saxon CE和XSLT 2.0在页面上生成和操作控件。生成组合框不是问题,但当我更改组合框时,似乎无法从组合框的选项条目中获取值。下面是示例性XSLT代码: 我想做的是当用户更改组合框的值时,他们选择的选项的值存储在变量$myVal中。然后我使用该变量来影响主页上的转换。现在我拥有的根本不起作用(目前它获取所有选项的所有值,而不是用户选择的那个)。 思想?

  • 问题内容: 我刚刚开始学习JavaFX2。 现在,我正在尝试构建示例应用程序。然后我陷入了组合框。 我没有在JavaFX中找到对组合框的键值对的任何引用。http://docs.oracle.com/javafx/2/api/index.html上 的组合框javadoc 对键值对的描述不多。 如何创建包含显示值和实际值不同的项目的组合框? 问题答案: 您有2种方法: 1.简单地覆盖数据模型类中的