DataAdapter Заполнить без команды

Я пытаюсь заполнить свой адаптер данных без использования команды. У меня есть набор данных, который я заполнил вручную, но когда я пытаюсь подключить этот набор данных с помощью моего dataAdapter, я получаю сообщение «Свойство команды Select не было инициализировано перед вызовом «Fill»». Это мой код, у кого-нибудь есть идея для этого?

Спасибо

OleDbDataAdapter ad1=new OleDbDataAdapter(cmd);
OleDbDataAdapter ad2=new OleDbDataAdapter(cmd2);
OleDbDataAdapter ad3 = new OleDbDataAdapter();

DataSet ds = new DataSet();
DataTable db1=new DataTable();
DataTable db2=new DataTable();
DataTable db3 = new DataTable();
ds.Tables.Add();

ad1.Fill(db1);
ad2.Fill(db2);
int i;
foreach (DataRow r in db2.Rows)
{
    i = 0;
    foreach (DataRow rc in db1.Rows)
    {
        if (r[0].ToString() == rc[0].ToString())
        {
            i = 1;
        }
    }
    if (i == 0) { ds.Tables[0].ImportRow(r); }

}
ad3.Fill(ds);

person Jas    schedule 18.04.2013    source источник


Ответы (1)


Я не совсем уверен, что вы пытаетесь здесь сделать, это неясно из вашего описания. Вы уже поместили данные в набор данных с помощью:

    ds.Tables[0].ImportRow(r);

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

Не могли бы вы описать свою цель немного яснее? Вы пытаетесь добавить таблицу в набор данных? Заливать из какого-то внешнего источника? Посмотреть строки, которые вы импортировали?

person Evan L    schedule 18.04.2013
comment
на самом деле я просто хочу заполнить свой datagridview моим вручную заполненным набором данных, но когда я пытаюсь, он показывает пустой - person Jas; 18.04.2013
comment
Хорошо, это имеет смысл. У вас уже есть таблица в наборе данных, поэтому вам просто нужно установить источник данных вашего datagridview для этой таблицы. Попробуйте myDataGridView.DataSource = ds.Tables[0]; Это покажет вам строки, которые вы импортировали в таблицу. - person Evan L; 18.04.2013
comment
Джас, тебе это помогло? Если да, пожалуйста, отметьте ответ на вопрос. Спасибо! - person Evan L; 20.04.2013