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


Автор: Chef 22.5.2008, 20:16
Что за "ботва" ?
Если у da.SelectCommand.CommandText не заполнен то тогда команды не создаються.

Мож я чето не так делаю..... но единственный верный выход я для себя нашел заполнять команду селект  
Код

da.SelectCommand.CommandText = "SELECT * FROM "+ tableName;


Код

cmdBuilder = new OleDbCommandBuilder(da);
da.InsertCommand = cmdBuilder.GetInsertCommand();

count = da.Update(ds, tableName);
ds.Tables[tableName].AcceptChanges();


Так должно быть или что ?

Автор: thomas 22.5.2008, 21:30
Chef, 
Цитата

ак должно быть или что ?
 smile 

Автор: informatik 22.5.2008, 21:31
Да именно так.
Объект CommandBuilder генерирует логику обновления на основе запроса, хранящегося в свойстве SelectCommand объекта DataAdapter.
А еще:
 - логика генерируется если возвращаются данные только из одной таблицы
 - на таблице определен первичный ключ
 - первичный ключ есть в результатах запроса..

Вот такие пироги... smile 

Автор: thomas 22.5.2008, 21:31
Для того чтобы builder сгенерировал команды для insert update первоначально должна быть указана команда select к соответствующей таблице.

Автор: informatik 22.5.2008, 21:33
Одновременно строчили smile 

Автор: Chef 22.5.2008, 22:28
Это их особенность стоила мне часа нервотрепки блин smile 

Автор: Rififi 22.5.2008, 23:36
Цитата(Chef @  22.5.2008,  22:28 Найти цитируемый пост)
Это их особенность стоила мне часа нервотрепки блин 


To generate INSERT, UPDATE, or DELETE statements, the OleDbCommandBuilder uses the SelectCommand property to retrieve a required set of metadata automatically

обычно чтение документации помогает сохранить душевную гармонию с окружающим миром.

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