Актуализация на набор от данни - грешка само за четене

набор

Моля, кажете ми, има нетипизиран набор от данни. Има таблица с колона в нея: Искам да получавам стойности тук в процеса на въвеждане от адаптера към базата данни от самата база данни с помощта на съхранена процедура Актуализирам го така: Ако поправя myDataColumn.ReadOnly = true, всичко работи, но дава грешка, че полето OPERATOR_NUMBER е само за четене, въпреки че умните книги казват, че всичко трябва да работи. Кой греши?

актуализация

Изглежда, че умните книги грешат. Не ги четете. чети глупаво!

Сериозно, DataColumn.ReadOnly казва

Получава или задава стойност, която показва дали колоната позволява промени веднага след добавяне на ред към таблицата.

Получава или задава стойност, указваща дали колонаможе да бъде модифицирана след добавяне на редкъм таблицата (превод на български msdn)

тези. след като ред е добавен към таблица, данните не могат да бъдат променяни. Нодо, преди таблицата да получи редове, тази колона може да бъде променена. Очевидно това се прави, за да се гарантира неизменността на данните, когато потребителят работи с таблицата.

Наистина ли пише в "умните книги", че е възможно да се актуализира таблица с такава колона? И в какво?

актуализация

данни

„Колоната AccountNumber не трябва да се въвежда от потребителя, така че можете да я маркирате като само за четене във вашия код“ (p.305)

Ако веднага след зареждане на таблицата, веднага щракнете върху Запазване и актуализиране, не получавам никакви грешки.

никъде ли не променяте тази колона?

набор

Ако веднага след зареждане на таблицата, веднага щракнете върху Запазване и актуализиране, не получавам никакви грешки.

никъде ли не променяте тази колона?

грешка

Свойството Само за четене определя дали съдържанието на колоната е само за четене.четене. Стойността по подразбиране за това свойство е False.

Ако промените стойността по подразбиране на свойството Expression на DataColumn (празен низ), свойството Readonly автоматично се задава на True. Това прави свойството Readonly само за четене.

Когато се опитате да промените съдържанието на колона, чиято стойност на свойството само за четене е True, ADO. NET хвърля изключение ReadOnlyException. Въпреки това, дори ако стойността на свойството Readonly е True, преди обектът DataRow да бъде добавен към колекцията Rows на DataTable, съдържанието на колоната все още може да бъде модифицирано.

Както при свойствата AllowDbNull и AutoIncrement, стойността на свойството Readonly се влияе само от метода FillSchema, а не от метода Fill на DataAdapter.