Visual Studio C# ODB C Разъем Sharepoint Field Только для чтения Ошибка поля - PullRequest
0 голосов
/ 07 февраля 2020

Я получаю следующую ошибку от ODB C Соединитель Sharepoint при попытке обновить набор данных до Sharepoint Online:

ERROR [HY000] Column [ID] could not be updated. This column is read-only.'

На самом деле я не пытаюсь обновить поле идентификатора, но код, созданный Visual Studio, хочет обновить всю строку в DataGridView, включая поля только для чтения, такие как поле ID. Всякий раз, когда вызывается TableAdapter.Update(DataSet), я получаю ошибки в полях только для чтения. Я счастлив полностью игнорировать поля только для чтения, но не могу найти ни код, ни какие-либо настройки, позволяющие мне это сделать. Спасибо!

1 Ответ

0 голосов
/ 22 февраля 2020

Я обнаружил проблему в следующем коде в конструкторе набора данных. Я закомментировал старый код и сделал гораздо более простое утверждение:

this._adapter.UpdateCommand.Connection = this.Connection; //this._adapter.UpdateCommand.CommandText = "UPDATE \" SOAP \ ". \" Импорт теста рабочего задания \ "SET \" ID \ "=?, \" Настройка метки \ "=?, \" Метка "+ / / "setting_ID \" =?, \ "Метка хранения \" =?, \ "Метка хранения \" =?, \ "Метка применена" + // "по \" =?, \ "Метка применена по_ID \" =? , \ "Метка хранения применена \" =?, \ "Retention l" + // "abel Applied_ID \" =?, \ "Элемент является записью \" =?, \ "Version \" =?, \ "Затрагиваемый пользователь (s) \ "" + // "=?, \" Приложение создано \ "= ?, \" Приложение создано By_ID \ "=?, \" Приложение изменено \ "=?, \" Приложение "+ // "Modified By_ID \" =?, \ "Assigned To \" =?, \ "Assigned To_ID \" =?, \ "Attachments \" =?, "+ //" \ "Создано \" =?, \ " Создано By_ID \ "=?, \" Идентификатор ресурса соответствия \ "=?, \" Идентификатор компьютера \ "" + // "=?, \" Контактная информация \ "=?, \" Тип содержимого \ "=?, \ "Created \" =?, \ "Department \" =?, \ "" + // "Желаемая дата исполнения \" =?, \ "Подробное описание \" =?, \ "Type \" =?, \ "Редактировать \ "=?, \" Modi "+ //" fied By \ "=?, \" Modified By_ID \ "=?, \" Количество дочерних папок \ "=?, \" Количество дочерних папок "+ //" t _ID \ "=?, \" Item Child Count \ "=?, \" Item Child Count_ID \ "=?, \" Location \ "=?, \" L "+ //" ocation_ID \ "=?, \" Изменено \ "=?, \" Примечания \ "=?, \" Приоритет \ "=?, \" Причина удержания \ "=" + // "?, \" Решение \ "=?, \" Причина отменена \ "=?, \" Status \ "=?, \" Отправлено \ "=?," + // "\" Отправлено_ID \ "=?, \" Заголовок \ "=? ГДЕ ((\ "ID \" =?) И ((? = 1 И \ "Настройка метки" + // "ing \" IS NULL) ИЛИ (\ "Настройка метки \" =?)) И ((? = 1 AND \ "Метка setting_ID \" IS NU "+ //" LL) ИЛИ (\ "Метка setting_ID \" =?)) И ((? = 1 AND \ "Стопорная метка \" IS NULL) ИЛИ ("+ / / "\" Метка хранения \ "=?)) AND ((? = 1 AND \" Идентификатор метки хранения \ "IS NULL) ИЛИ (\" Reten "+ // "tion label_ID \" =?)) AND ((? = 1 AND \ "Метка, примененная \" IS NULL) ИЛИ (\ "Метка применена" + // "ied \" =?)) AND ((? = 1 AND \ "Метка, примененная_ID \" IS NULL) ИЛИ (\ "Метка применена" + // "by_ID \" =?)) AND ((? = 1 AND \ "Применена метка хранения \" IS NULL) ИЛИ (\ "Retention l" + // "abel Applied \" = ?)) AND ((? = 1 AND \ "Метка хранения Applied_ID \" IS NULL) ИЛИ (\ "R" + // "Метка сохранения Applied_ID \" =?)) AND ((? = 1 AND \ "Элемент запись \ "IS NULL) ИЛИ" + // "(\" Элемент является записью \ "=?)) AND ((? = 1 AND \" Version \ "IS NULL) ИЛИ (\" Version \ "=? )) "+ //" AND ((? = 1 AND \ "Затрагиваемые пользователи \" IS NULL) ИЛИ (\ "Затронутые пользователи \" =?)) AND (("+ //"? = 1 AND \ "App Creat ed \ "IS NULL) ИЛИ (\" Приложение создано \ "=?)) И ((? = 1 AND \ "" + // "Приложение, созданное по_ID \" IS NULL) ИЛИ (\ "Приложение, созданное по_ID \" =?)) AND ((? = 1 AND \ "App M" + // "odified By \ "IS NULL) ИЛИ (\" App Modified By \ "=?)) И ((? = 1 AND \" App Modified B "+ //" y_ID \ "IS NULL) ИЛИ (\" App Modified By_ID \ "= ?)) AND ((? = 1 AND \ "Назначено \" IS N "+ //" ULL) ИЛИ (\ "Назначено \" =?)) AND ((? = 1 AND \ "Назначено To_ID \" IS NULL) ИЛИ (\ "Assi" + // "gned To_ID \" =?)) AND ((? = 1 AND \ "Attachments \" IS NULL) ИЛИ (\ "Attachments \" =?)) "+ / / "AND ((? = 1 AND \" Создано \ "IS NULL) ИЛИ (\" Создано \ "=?)) AND ((? = 1 AND \" C "+ //" reated By_ID \ "IS NULL) ИЛИ (\" Created By_ID \ "=?)) И ((? = 1 AND \" Compliance Ass "+ //" et Id \ "IS NULL) ИЛИ (\" Compliance Asd Id \ "=? )) AND ((? = 1 AND \ "Идентификатор компьютера \" IS "+ //" NULL) ИЛИ (\ "Идентификатор компьютера \" =?)) AND ((? = 1 AND \ "Контактная информация \" IS NULL ) ИЛИ (\ "Cont" + // "act Info \" =?)) AND ((? = 1 AND \ "Тип содержимого \" равен NULL) ИЛИ (\ "Тип содержимого \" =?)) "+ //" AND ((? = 1 И \ "Создано \" НЕДОСТАТОЧНО) ИЛИ (\ "Создано \" =?)) И ((? = 1 И \ "Отправление" + // "ent \" ЕСТЬ НУЛЬ) ИЛИ (\ "Отдел \" =? )) И ((? = 1 И \ "Желаемая дата исполнения \" НУЛЬ)) "+ //" ИЛИ (\ "Желаемая дата исполнения \" =?)) И ((? = 1 И \ "Подробное описание \" IS NULL) ИЛИ "+ //" (\ "Детальное описание \" =?)) AND ((? = 1 AND \ "Type \" IS NULL) ИЛИ (\ "Type \" =?)) "+ // "И ((? = 1 И \" Редактировать \ "НУЛЬ) ИЛИ (\" Редактировать \ "=?)) И ((? = 1 И \" Модифицировано \ "I" + // "S NULL) ИЛИ (\ "Modified By \" =?)) AND ((? = 1 AND \ "Modified By_ID \" IS NULL) ИЛИ (\ "M" + // "odified By_ID \" =?)) AND ((? = 1 AND \ "Количество дочерних папок \" равно NULL) ИЛИ (\ "Папка C" + // "hild Count \" =?)) AND ((? = 1 AND \ "Количество дочерних папок \" IS равно NULL) ИЛИ (\ "Папка C" + // "hild Count_ID \" =?)) И ((? = 1 И \ "Количество дочерних элементов \" НУЛЬ)) ИЛИ (\ "Элемент дочерний" + // "Количество \ "=?)) AND ((? = 1 AND \" Item Child Count_ID \ "IS NULL) ИЛИ (\ "Item Child Cou" + // "nt_ID \" =?)) AND ((? = 1 И \ "Местоположение \" НЕДОСТАТОЧНО) ИЛИ (\ "Местоположение \" =?)) И ((? = "+ //" 1 И \ "Location_ID \" НУЛЬ)) ИЛИ (\ "Location_ID \" = ?)) AND ((? = 1 AND \ "Modified \" "+ //" IS NULL) ИЛИ (\ "Modified \" =?)) AND ((? = 1 AND \ "Notes \" IS NULL) ИЛИ (\ "Notes \" =?)) "+ //" AND ((? = 1 AND \ "Priority \" NULL) ИЛИ (\ "Priority \" =?)) AND ((? = 1 AND \ " Reaso "+ //" n On Hold \ "IS NULL) ИЛИ (\" Reason On Hold \ "=?)) AND ((? = 1 AND \" Resolution \ "IS N" + // "ULL) ИЛИ ( \ "Resolution \" =?)) AND ((? = 1 AND \ "Причина отменена \" NULL) ИЛИ (\ "Rea" + // "Сын отменен \" =?)) AND ((? = 1 AND \ "Status \" IS NULL) ИЛИ (\ "Status \" =?)) AND (("+ //"? = 1 AND \ "Отправлено \" IS NULL) ИЛИ (\ "Отправлено \" =? )) AND ((? = 1 AND \ "Subm" + // "itted by_ID \" IS NULL) ИЛИ (\ "Submitted by_ID \" =?)) AND ((? = 1 AND \ "Title \" IS NUL "+ //" L) OR (\ "Title \" =?))) "; This._adapter.UpdateCommand.CommandText =" UPDATE \ "SOAP \". \ "Импорт теста рабочего задания \" SET \ "Подробное описание \ "= ?, \" Title \ "= ?, \" Назначен To_ID \ "= ?, \" St atus \ "= ?, \" Затрагиваемые пользователи \ "= ?, \" Resolution \ "= ?, \" Location_ID \ "=?, \" Отправлено_ID \ "= ?, \" Отдел \ "=? , \ "Computer ID \" = ?, \ "Контактная информация \" = ?, \ "Notes \" = ?, \ "Priority \" =? WHERE (\ "ID \" = @ID) "; this._adapter.UpdateCommand.CommandType = global :: System.Data.CommandType.Text; this._adapter.UpdateCommand.Parameters.Add (новый глобальный :: System.Data. Odb c .OdbcParameter ("подробное описание", global :: System.Data.Odb c .OdbcType.NVarChar, 0, global :: System.Data.ParameterDirection.Input, ((byte) (0)), ( (byte) (0)), «Подробное описание», global :: System.Data.DataRowVersion.Current, false, null)); this._adapter.UpdateCommand.Parameters.Add (новый global :: System.Data.Odb c .OdbcParameter ("Заголовок", global :: System.Data.Odb c .OdbcType.NVarChar, 0, global :: System.Data.ParameterDirection.Input, ((byte) (0)), ((byte ) (0)), «Заголовок», global :: System.Data.DataRowVersion.Current, false, null)); this._adapter.UpdateCommand.Parameters.Add (новый global :: System.Data.Odb c. OdbcParameter ("Assigned_To_ID", global :: System.Data.Odb c .OdbcType.Int, 0, global :: System.Data.ParameterDirection.Input, ((byte) (0)), ((byte) (0 )), «Назначенный To_ID», глобальный :: System.Data.DataRowVersion.Cu rrent, false, null)); this._adapter.UpdateCommand.Parameters.Add (новый глобальный :: System.Data.Odb c .OdbcParameter ("Статус", глобальный :: System.Data.Odb c .OdbcType.NVarChar, 0, глобальный :: System.Data.ParameterDirection.Input, ((byte) (0)), ((byte) (0)), "Status", global :: System.Data.DataRowVersion.Current, false, null)); this._adapter.UpdateCommand.Parameters. Добавить (новый global :: System.Data.Odb c .OdbcParameter ("Затронутые пользователи"), global :: System.Data.Odb c .OdbcType.NVarChar, 0, global :: System.Data.ParameterDirection .Input, ((byte) (0)), ((byte) (0)), «Затронутые пользователи», global :: System.Data.DataRowVersion.Current, false, null)); this._adapter.UpdateCommand.Parameters.Add (новый global :: System.Data.Odb c .OdbcParameter ("Resolution", глобальный :: System.Data.Odb c .OdbcType.NVarChar, 0, глобальный :: System.Data.ParameterDirection.Input, ((byte) (0)), ((byte) (0)), "Resolution", global :: System.Data.DataRowVersion.Current, false, null)); this._adapter.UpdateCommand.Parameters.Add (новый глобальный :: System.Data.Odb c .OdbcParameter ("Location_ID", глобальный :: System.Data.Odb c .OdbcType.Int, 0, глобальный :: System.Data.ParameterDirection.Input, ((byte) (0)), ((byte) (0)), "Location_ID", global :: System.Data.DataRowVersion.Current, false, null)); this._adapter.UpdateCommand.Parameters.Add (новый global :: System.Data.Odb c .OdbcParameter ("Submitted_by_ID", global :: System.Data.Odb c .OdbcType.Int, 0, global :: System.Data.ParameterDirection.Input, ((byte) (0)), ((byte) (0)), "Submitted by_ID", global :: System.Data.DataRowVersion.Current, false, null)); this._adapter.UpdateCommand.Parameters.Add (new global :: System.Data.Odb c .OdbcParameter ("Отдел", глобальный :: System.Data.Odb c .OdbcType.NVarChar, 0, глобальный :: System.Data.ParameterDirection.Input, ((byte) (0)), ((byte) (0)), "Department", global :: System.Data.DataRowVersion.Current, false, null)); this._adapter.UpdateCommand.Parameters.Add (new global :: System.Data.Odb c .OdbcParameter ("Computer_ID", global :: System.Data.Odb c .OdbcType.NVarChar, 0, global :: System.Data.ParameterDirection.Input, ((byte) (0)), ((byte) (0)), «Идентификатор компьютера», global :: System.Data.DataRowVersion.Current, false, null)); this._adapter.UpdateCommand.Parameters.Add (новый глобальный :: System.Data.Odb c .OdbcParameter ("Contact_Info", глобальный :: System.Data.Odb c .OdbcType.NVarChar, 0, глобальный :: System.Data.ParameterDirection.Input, ((byte) (0)), ((byte) (0)), «Контактная информация», global :: System.Data.DataRowVersion.Current, false, null)); this._adapter.UpdateCommand.Parameters.Add (new global :: System.Data.Odb c .OdbcParameter ("Примечания", глобальный :: System.Data.Odb c .OdbcType.NVarChar, 0, глобальный :: System.Data.ParameterDirection.Input, ((byte) (0)), ((byte) (0)), «Примечания», global :: System.Data.DataRowVersion.Current, false, null)); this._adapter.UpdateCommand.Parameters.Add (new global :: System.Data.Odb c .OdbcParameter ("Приоритет", глобальный :: System.Data.Odb c .OdbcType.NVarChar, 0, глобальный :: System.Data.ParameterDirection.Input, ((byte) (0)), ((byte) (0)), "Priority", global :: System.Data.DataRowVersion.Current, false, null));

        this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.Odbc.OdbcParameter("ID", global::System.Data.Odbc.OdbcType.Int, 0, global::System.Data.ParameterDirection.Input, ((byte)(0)), ((byte)(0)), "ID", global::System.Data.DataRowVersion.Current, false, null));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...