المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : Insert, Update MS SQL Server Table with an AutoIncrement Field


thebestbenz
17-08-2010, 12:19 AM
السلام عليكم و رحمة الله و بركاته
الاخوة بالمنتدى رمضانكم مبارك و تقبل الله منا و منكم

الاخوة الاعزاء لديه مشكله مسبب لي الصداع و لم اجد لها حل في الانترنت

برنامجي مربوط بــ MS SQL Server
باستخدام SQLConnection
SQLDataSet
DataSetProvider
ClientDataSet
DataSource
DbGrid + Other Db Controls
و عندي جدول عبارة عن حقلين واحد منهم AutoIncrement Field المفتاح رئيسي و الاخر String

المهم عند محاولتي إضافة بيانات جديدة لهدا الجدول و عمل ApplyUpdate لا استطيع نظهر مسج بان الحقل عبارة
عن حقل تزايدي Identity هذا ادا كتبت رقم في هدا الحقل
اما ادا لم اكتب تظهر مسج بان هدا الحقل مطلوب و يجب ملئه


شكرا

palunix
17-08-2010, 12:40 AM
المفتاح الرئيسي انت لا تضيفه اذا كان من نوع (زيادة تلقائية) انت اضف الحقول الاخري فقط و الـ معالج قاعدة البيانات في هذه الحالة الـ mssql سيقوم بتعبئة هذه الحقل تلقائي ,

هذه الاجابة حسب فهمي لسؤالك اتمني ان اكون فهمته بشكل صحيح ,

thebestbenz
17-08-2010, 12:15 PM
السلام عليكم
أجل هذا صحيح أخيPalunix

ربما لا تستطيع ان تفهم سؤالي الا بقيامك بتجربة بسيطة عليه (طبقه عملي)

أنا قلت (هذا إذا كتبت).

المشكلة في ClientDataSet لا تقبل أن يبقى الحقل التلقائي فارغا عند الاضافة
و إذا اضفت فقاعدة البيانات لا تقبل ان يكون هذا الحقل معبئ من قبل المستخدم (لانه تلقائي) Identity

و للعلم فقد قمت بالبحث كثيرا عنها و يبد انها مشكلة شائعة لكني لم اجد الحل الملائم

إن شاء الله تكون فهمتني و عليك بالتجربة لتفهم أكثر

شكرا

kachwahed
17-08-2010, 02:12 PM
وعليكم السلام ورحمة الله وبركاته
اختيار DBExpress مع SQL Server قد يتطلب أشغال يدوية خاصة على دلفي 7
إذا لم يكن الخلل في نمط الحقل فأرفق محاولة.

thebestbenz
18-08-2010, 09:58 AM
السلام عليكم

أنا أستخدم دلفي 2009.

لا يوجد خلل في الحقل
يمكنك اخي بكل بساطة تكوين جدول بحقلين في SQL Server الحقل الاول تلقائي التزايد و رئيسي
و الاخر اي شيء
و من تم ربطه بفورم بسيط موجود فيه
SQLConnection
SQLDataSet or SQLQuery or SQLTable
DataSetProvider
ClientDataSet
DataSource
DbGrid
DbNavigator

ربط الجميع ببعضها و حاول ان تضيف بيانات جديدة للجدول

و بارك الله فيك

kachwahed
18-08-2010, 01:55 PM
وعليكم السلام ورحمة الله وبركاته
قمت بذلك منذ قليل، لا يوجد أي خلل (دلفي 2010)
فقط تأكد من قيمة Required للحقل الأول على المكون:
SQLDataSet or SQLQuery or SQLTable
بالتوفيق.

thebestbenz
20-08-2010, 01:55 AM
السلام عليكم
أخي Kachwahed

بارك الله فيك بالفعل عندما غيرت الخاصية Required في كل من SQLDataSet و ClientDataSet
للحقل التزايدي الي False تسطيع الادخال و الحذف في قاعدة البيانات MS Sql Server

و الله يأخي الواحد يفخر بوجد أناس مثلك و لو تريد أن تعرف قيمتك ,ضع عنوان موضوعي في قوقل
و سترى الكلام الدش و الاراء الكثيرة في نفس الموضوع دون الفاعلية

تحية لك و شكرا