Mohamed Shakir Ответов: 1

Как использовать C# datagridview выбранные значения нескольких строк в SQL-запросе


У меня есть datagridview в форме c#, содержащей данные. Я хочу выбрать некоторые строки (используя флажки select). И есть таблица sql, которая имеет тысячи строк. Мне нужно отфильтровать только те значения, которые были выбраны в gridview, и вставить их во временную таблицу, чтобы я мог использовать ее для разделов отчетов. как я могу это сделать?
напр.
столбец dataGridview1
кошка
собака
лошадь
лев
лиса
теперь я выбираю флажки для кошки и собаки.
Представление таблицы данных Sql выглядит следующим образом.
наименование код наименование
cat cat001
собака dg001
лошадь hrs001
ворона crw001
cat cat002
lion ln001
кошка cat003
cat cat004
собака dog002
поэтому я выбрал кошку и собаку в gridview. Поэтому я хочу отфильтрованную временную таблицу с такими данными по щелчку кнопки.
наименование код наименование
cat cat001
собака dg001
cat cat002
кошка cat003
cat cat004
собака dog002
Поэтому я пытаюсь передать это с помощью sql-запроса, но потерпел неудачу. Как я могу это сделать?

Что я уже пробовал:

SqlConnection conn1 = new SqlConnection (@"Data Source=.\sqlexpress;Initial Catalog=acc;Integrated Security=True");
Sqlcommand, который cmd1 = новая команда sqlcommand(@"выбрать БД.дата,дБ.типа,дБ.refno,дБ.itmcod,дБ.кол-во дБ.cuscod, дБ.cstcod,КС.cusnam в ##ВЭС от fstktxn как дБ внутреннее соединение fcustomer как cus на дБ.cuscod = КС.cuscod где itmcod = "dataGridView1.Строк[Дж].Ячейки ["название"].Значение"'", conn1);
conn1.Открыть();
cmd1.Метод executenonquery();
DataTable dt = новый DataTable();
SqlBulkCopy bulkCopy = новый SqlBulkCopy(conn1);
bulkCopy.DestinationTableName = " ##tmp1";
переборка.WriteToServer(dt);
conn1.Закрывать();

[no name]

Я думаю,вы должны использовать или в вашем sql. Пример:.....Где name= 'кошка' или name= 'собака'..

Mohamed Shakir

мы не можем наверняка назначить кошку или собаку, потому что выбор пользователей будет другим

Azziet

преобразовать значения через запятую, затем с помощью в п.

Arasappan

Пожалуйста, покажите дизайн флажка ur..

1 Ответов

Рейтинг:
0

jayveebishie

string name = string.Empty;
      for (int i = 0; i < dgvSupplier.Rows.Count; i++)
      {
        if (Convert.ToBoolean(dgvSupplier.Rows[i].Cells["CheckBoxColumn"].Value))
          name += "'" + Convert.ToString(dgvSupplier.Rows[i].Cells["Title"].Value) + "',";
      }


Теперь измените предложение where, чтобы "выбрать БД.дата,дБ.типа,дБ.refno,дБ.itmcod,дБ.кол-во дБ.cuscod, дБ.cstcod,КС.cusnam в ##ВЭС от fstktxn как дБ внутреннее соединение fcustomer как cus на дБ.cuscod = КС.cuscod где itmcod в (" + имя + ")", conn1);