Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Элементы результата запроса?


Автор: FR2elancER 31.7.2007, 22:57
Для выборки таблицы в БД я использую sqlDataAdapter
Для заполнения dataSet всеми результатами запроса использую sqlDataAdapter.Fill(dataSet).

Вопрос в следующем - как можно организовать добавление только одного элемента из выборки?
К примеру по запросу SELECT отобрано 10 записей, а в dataSet мне нужно поместить, например, только вторую и седьмую. Можно ли как-нибдь перебирать элементы результата запроса?

Автор: W1zArD 1.8.2007, 01:32
ну не знаю... может просто в Insert'e указавать то что не нужно как NULL

Автор: thomas 1.8.2007, 07:58
FR2elancER
Цитата

Вопрос в следующем - как можно организовать добавление только одного элемента из выборки?


SELECT * FROM tableName WHERE field1=[только это]

Твои вторя и седьмая чем-то отличаются от остальных, вот и укажи это что-то как условие. Тогда выборка (SELECT) произойдет согласно этого условия и в таблицу дата сета попадут только эти две строки.

W1zArD
Цитата

может просто в Insert'e указавать то что не нужно как NULL 


Ай яй-яй-й! W1zArD, учите SQL.  smile 


Автор: SilentNick 1.8.2007, 08:05
А можно использовать более низкоуровневые SqlCommand и SqlDataReader.

Код

SqlDataReader reader = cmd.ExecuteReader();

table = new DataTable();
if (reader != null)
{
       for (int i = 0; i < reader.FieldCount; i++)
          table.Columns.Add(reader.GetName(i));

       int i = 0;
       while (reader.Read())
       {
            if (( 2 == i) or (7 == i))
            {  
                  DataRow row = table.NewRow();
                  for (int i = 0; i < reader.FieldCount; i++)
                      row[i] = reader.GetValue(i);

                  table.Rows.Add(row);
             }
             i++;
         }
}


Потом вставишь таблицу в DataSet.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)