c#添加到文本框,我选择的一个或多个行中的列值

问题描述 投票:0回答:1

我的项目在列表视图中有5条记录。当我单击这些记录时,我希望将它们添加到文本框中,但是当我选择一行并添加时,所有5条记录都将添加到文本框中。当我选择5行时,它将打印5乘5值。选择并插入一行或多行,我想将这些行的值添加到文本框中。我将共享代码。等待您的答案。

private void mailTopla_Click(object sender, EventArgs e)
    {
        for (int i = 0; i<listView1.Items.Count; i++)
        {
            if (listView1.Items[i].Checked)
            {
                sqlConnection.Open();
                SqlCommand komut = new SqlCommand("select email from musteriKayit",sqlConnection);
                komut.ExecuteNonQuery();
                SqlDataReader oku = komut.ExecuteReader();

                while (oku.Read())
                {
                    if (listView1.Items[i].Checked)
                    {
                            if (kimeTextBox.Text == "")
                            {
                                kimeTextBox.Text += (oku["email"].ToString().Trim());
                            }
                            else
                            {
                                kimeTextBox.Text += "," + (oku["email"].ToString().Trim());
                            }
                    }
                }
                oku.Close();
                sqlConnection.Close();
            }
        }
    }
c# sql listview textbox add
1个回答
0
投票

问题出在您的第二个if条件上。您已经找到一个“已检查”项目,这将永远是正确的。因此,您的while循环将添加它读取的所有五个项目。如果检查所有五个项目,它将遍历所有数据5次,您将获得25个项目。第二个if需要在被检查项目的值和读取的数据的值之间匹配。仅当匹配时,才应将数据添加到控件中。

© www.soinside.com 2019 - 2024. All rights reserved.