منع DataSet المكتوب تحديث عمود PK
-
05-07-2019 - |
سؤال
ولدي مجموعة بيانات مكتوب، وحيث أدعو TableAdapter.Update(DataRow)
، وSQL أعدم يتضمن تحديثا للعمود المفتاح الأساسي من قاعدة البيانات.
ولسوء الحظ، عند تشغيل هذا الرمز على قاعدة بيانات منسوخة، العمود PK لديه مجموعة الخاصية rowguid
، وأحصل على الخطأ التالي:
وSystem.Data.SqlClient.SqlException. وانتهت العملية في المشغل. تم إحباط الدفعة. في System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors (RowUpdatedEventArgs rowUpdatedEvent، BatchCommandInfo [] batchCommands، Int32 commandCount) في System.Data.Common.DbDataA ...
اقتباس فقرة>وكيف يمكنني منع tableadapter من تحديث هذا العمود (القيمة هي نفسها)؟
المحلول
ويمكنك تحرير SQL التي تم إنشاؤها لأمر التعديل في مصمم DataSet
فقط اضغط على محول والعثور على UpdateCommand
يدويا. هل هناك سبب أن كنت تقوم بتحديث المفتاح الأساسي؟ إن لم يكن (ويجب أن لا يكون، إذا كان ذلك ممكنا)، ثم يجب عليك إزالة هذا من الأمر.
نصائح أخرى
إذا وضعت في الواقع العمود الخاص بك كمفتاح أساسي في DataSet كتابة السيارات ولدت بيان محدث لا ينبغي أن يكون محاولة لتحديثه. وأود أن ننظر المصمم وتأكد من أنه هو في الواقع مفتاح أساسي.