Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.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# 如何在文本框中检索组合框中选定项的记录_C#_Combobox - Fatal编程技术网

C# 如何在文本框中检索组合框中选定项的记录

C# 如何在文本框中检索组合框中选定项的记录,c#,combobox,C#,Combobox,我想通过在组合框中选择的名称显示该成员的所有详细信息..我正在尝试下面给定的代码 private void cbSearchByName_SelectedIndexChanged(object sender,EventArgs e) { try { //int RowsAffected = 0; DataAccess oDataAccess = new DataAccess(); c

我想通过在组合框中选择的名称显示该成员的所有详细信息..我正在尝试下面给定的代码

private void cbSearchByName_SelectedIndexChanged(object sender,EventArgs e)
    {
        try
        {

            //int RowsAffected = 0;
            DataAccess oDataAccess = new DataAccess();
            con.Open();
            //showing flat number of selected member by name
            oDataAccess.cmd.CommandText = "SELECT FlatNo FROM MemberInfo where MemberName='" + cbSearchByName.Text + "'";
            oDataAccess.cmd.Connection = con;

            tbOwnerName.Text = ((string)cmd.ExecuteScalar());
            con.Close();
        }

        catch (Exception ex)
        {

            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }

我知道您需要从memberinfo表中获取所有列记录并在UI中显示它们。为此,您需要使用ExecuteReader而不是ExecuteScalar。我已经用下面的代码实现了executereader

private void cbSearchByName_SelectedIndexChanged(object sender,EventArgs e)
{
    try
    {

        //int RowsAffected = 0;
        DataAccess oDataAccess = new DataAccess();
        using(SqlConnection connection = con )
      {
        connection.Open();
        //showing flat number of selected member by name
        oDataAccess.cmd.CommandText = "SELECT Top 1 Name,City FROM MemberInfo where MemberName='" + cbSearchByName.Text + "'";
        oDataAccess.cmd.Connection = con;

    SqlDataReader dr = cmd.ExecuteReader();
    while (dr.Read())
    {
        tbOwnerName.Text = dr["Name"].ToString();
        tbOwnerCity.Text = dr["City"].ToString();
        //similarly store other column values in respective text boxes or wherever you need to get it displayed.
    }
       }
    }

    catch (Exception ex)
    {

        MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }

你有什么例外吗?运行代码时会发生什么?结果如何。事实上,你到底有什么问题?这意味着在会员详细信息表单上,通过组合框选择会员的姓名,该姓名的相应数据应显示在各自的文本框中…谢谢帮助…我尝试了你的代码,但现在当我从组合框中选择姓名时,它会显示类似的消息“连接未关闭。连接当前状态为打开”类似于此的内容此错误可能是由于无法执行代码con.Close();我不确定上述代码是否有任何错误。请在con.open()和con.Close()保留一些断点,然后检查这些语句是否正在执行。能否显示完整的错误消息?