【问题标题】:Display query results in new form after selecting item in listbox选择列表框中的项目后以新形式显示查询结果
【发布时间】:2013-08-05 18:10:52
【问题描述】:

我有两种形式:RoomSelectRoomActiveSessions

RoomSelect 表单包含列表框 (listbox1) 和一个按钮 (button1)。列表框绑定到名为“Room”的本地数据库表,并显示 4 个不同的房间号。

餐桌

(PK)RoomID RoomName
CMP2001      room 1
MB20312      room 2
FR45312      room 3
TRY2233      room 4

RoomID 用作另一个表的外键,Sessions

(PK)sessionID (FK)roomID sessionStartDate sessionTimeStart sessionTimeEnd
1ACMP2343       CMP2001     09/05/2013          12:00 AM         14:00 PM
2ACMP2343       MB20312     05/05/2013          09:00 AM         11:00 PM
1ACMP3456       TRY2233     15/05/2013          12:00 AM         13:00 PM
2ACMP3456       CMP2001     01/05/2013          10:00 AM         13:00 PM
1ABIO3422       MB20312     30/04/2013          11:00 AM         13:00 PM
2ABIO3422       CMP2001     01/04/2013          14:00 AM         16:00 PM
1ABIO2217       FR45312     12/05/2013          16:00 AM         18:00 PM
2ABIO2217       MB20312     03/05/2013          12:00 AM         14:00 PM   

RoomActiveSession 表单包含我想在其中显示结果的 dataGridView。

这个过程应该是这样的:

  1. 用户在RoomSelect 表单上启动应用程序。
  2. 用户选择房间号,点击确定。
  3. RoomSelect 表单关闭,RoomActiveSession 打开并显示给定房间号的当前会话

我认为要实现这一点,我需要在对数据库运行查询时使用列表框中的值作为参数,但我不知道如何访问它。当我尝试使用它时:

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

            MessageBox.Show(listBox1.SelectedItem.ToString());
        }

我得到 System.Data.RowView,而不是数据库中的值。

希望能帮我解决我的问题

编辑:

还有一个问题。在RoomSelect 表单上突出显示房间号并单击“确定”后如何打开新表单?

【问题讨论】:

    标签: c# sql visual-studio-2010 ms-access


    【解决方案1】:

    如果您收到的是DataRowView,请执行以下操作:

    if (listBox1.SelectedItem is DataRowView)
    {
        DataRowView drv = (DataRowView)listBox1.SelectedItem;
        String s = drv["RoomID"] as String;
        if (!String.IsNullOrEmpty(s))
            MessageBox.Show(s);
    }
    

    也许你的目标有点冗长,但只是为了演示 SelectedItem 属性中的真正内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-07
      • 1970-01-01
      • 2019-11-17
      • 2018-05-11
      • 2013-09-01
      • 2010-09-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多