تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كيف يتم اضافة جداول اوحقول او اي تعديل على قاعدة البيانات من خلال سي شارب فقط
#1
السلام عليكم

لنفرض انه تم بناء برنامج بسي شارب و sql server
وبعد مدة تريد تحديث البرنامج و اضافة جداول و اجراءات مخزنة ... اي التعديل على قاعدة البيانات
وليست هناك امكانية ان الزبون يعطيك قاعدة البيانات القديمة للتعديل عليها 
فكيف يتم التعديل من خلال مثلا برنامج بسي شارب يقوم بالتعديل عليها
الرد }}}
تم الشكر بواسطة:
#2
و عليكم السلام و رحمة الله و بركاته

[مشروع] طريقة تصميم برنامج قواعد بيانات يحتوي على علاقات بين الجداول (باستخدام الكود فقط) 
الرد }}}
تم الشكر بواسطة:
#3
شكرا اخي
جاري مراجع الموضوع

اخي المشروع VB
هل يوجد مثال و شرح #C
الرد }}}
تم الشكر بواسطة:
#4
وعليكم السلام ورحمة الله وبركاته
فى البداية انت لا تحتاج الى قاعدة بيانات العميل لتقوم بالتعديل عليها
ولا كونك بحاجة الى استبدال قاعدة البيانات التى لديه بقاعدة البيانات التى تم تحديثها لديك
كل الامر عليك تطبيق التالى وركز جيداً لما ساقوله

مثلاً لديك جدول باسم test يحتوى فقط على id كمثال او اياً يكن ما يحتوى
الان جيت انا عايز اضافة عمود جديد تحت اسم مثلاً name من نوع nvarchar(MAX) وانه يقبل ان يكون فارغ او لا حسب ما تريد
الان بعد تجهز كل هذا الامور لديك على قاعدة البيانات التى بجهازك لا تقوم بعمل حفظ التعديلات على الجدول كل ما ستقوم به هو
شايف الايقونة دى كما هو فى الصورة ( Genetare Change Script )


قم بالضغط عليها لتظهر بعد ذلك شاشة تحتوى على كود 
أو يمكنك الضغط على yes لحفظ هذا الكود على الجهاز لديك
الان يمكنك اغلاق شاشة التصميم للجدول دون حفظ التعديلات حتى يرجع الجدول لوضعه القديم
ولكى تتمكن من اختبار ما ساقوم بشرحه جيداً
الان قم بفتح الملف الذى تم حفظه او الكود الذى نسخته من الشاشة وليكن اسبح بهذا الشكل
كود :
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.test ADD
    name nvarchar(MAX) NULL
GO
ALTER TABLE dbo.test SET (LOCK_ESCALATION = TABLE)
GO
COMMIT

انا لا يهمنى كل الكود استخدامه كاملاً افضل وسيسهل الامر
ولكن بما انى عارف انا محتاج ايه بضبط فكل ما ساقوم به هو التركيز على هذا الجزء من الكود
وهو اى ALTER من نوع ADD بما ان انا قمت باضافة عمود جديد فى الجدول وهيكون عبارة عن التالى
كود :
ALTER TABLE dbo.test ADD name nvarchar(MAX) NULL

الان ياتى كيفية استخدامه كل الامر سيكون كالتالى
اذهب وتاكد من كونك واقف على قاعدة البيانات نفسها او الجدول المطلوب التعديل عليه لو التعديل على جدول واحد
ومش شرط الوقوف على الجدول على قد مهم التاكد من الوقوف على قاعدة البيانات نفسها ومن ثم
الضغط على هذه الايقونة طبقاً للصورة ( New Query )


ومن ثم بعد فتح الشاشة قم بوضع الكود الذى لديك اذا كان كالاً للملف
أو الجزء الذى تم استخراجه كما تم شرحه بالاعلى وبالنهاية
قم بالضغط على هذه الايقونة طبقاً للصورة ( √ )


الان يمكنك الذهاب الى الجدول لاختبار بان التعديلات والاضافة تمت طبعاً لما هو مطلوب
ينطبق الامر على كل من التعديل والحذف وتغيير المسميات فى الجدول فقط قم بعمل كل ما تريده فى الجدول
وعند الانتهاء بدلاً من الحفظ قم بالضغط على ايقونة حفظ سكربت لجميع الاحداث التى تمت على الجدول قبل الحفظ
لان اذا قمت بالحفظ سيتم تعطيل هذه الايقونة وبكده يمكنك تطبيق نفس الامر عند العميل لديه بتنفيذ الكود مباشراً
وتسليمه البرنامج الجديد بعد التعديلات عليه لما تم عليه لما هو من متغيرات على قاعدة البيانات اذا كان يوجد عليه اى تحديث

بالنهاية ستقوم انت فقط بعمل شي واحد وبسيط مثل لو كان التعديل بقاعدة البيانات
على اضافة عمود يتم جلب اى دى معين من جدول اخر
فكل الامل ستقوم بتنفيذ مثل كود update وما شبه عادي جداً لانهاء هذه الاجراءات
الرد }}}
تم الشكر بواسطة: محمد كريّم , محمد كريّم , larbihamri
#5
شكرا اخي
لكن هده الطريقة تعتمد على قاعدة البيانات العميل اي يجب علي الدهاب لجهاز العميل و التعديل على قاعدة بياناته كما فهمت من شرحك
انا اريد عمل برنامج بالسي شارب #c هو الدي يعمل على تحديث قاعدة بيانات العميل دون الحاجة لي للدهاب الى جهاز العميل او فتح حتى قاعدة بيانانه للتعديل عليه

كما يوجد في تقنية entity Framework code first
اي كل العمل يكون بكود #c فقط
الرد }}}
تم الشكر بواسطة:
#6
(04-07-20, 02:09 PM)younass كتب : شكرا اخي
لكن هده الطريقة تعتمد على قاعدة البيانات العميل اي يجب علي الدهاب لجهاز العميل و التعديل على قاعدة بياناته كما فهمت من شرحك
انا اريد عمل برنامج بالسي شارب #c هو الدي يعمل على تحديث قاعدة بيانات العميل دون الحاجة لي للدهاب الى جهاز العميل او فتح حتى قاعدة بيانانه للتعديل عليه

كما يوجد في تقنية entity Framework code first
اي كل العمل يكون بكود #c فقط

الشكر لله
لا طبعاً مش شرط الشرح لتوضيح الفكرة
وكذلك انت مش شرط تروح عند العميل من خلال TeamViewer كمثال
يمكنك تنفيذ كل الاجراءات التى تريدها مباشراً

ولكن المضمون الرئيسي هو كونك اصبحت لديك الكود الخاص Query
فالكود هنا زيه زي لو كانك بتعملى استعلام عن اى شئ بقاعدة البيانات زى كود Select
كل الامر ستقوم بتطبيق
ALTER TABLE
كما لو تقوم بتطبيق
Select *
كلاهما واحد وكلاهما تحت مسمى Query

يمكنك عمل التحديث فى حد الـ load مباشراً
أو فى حدث Load تقوم بفتح شاشة اخري لاجراء التحديثات الامر يعتمد عليك
بالنهاية انا وضحت بردى السابق كيفية الفكرة وحصولك على الاكواد خاصة تحديثات قاعدة البيانات
والتنفيذ اذا عند العميل او من خلال البرنامج يعتمد عليك انت بكل الاحوال

لتسهيل الامر عليك
قم بانشاء برنامج جديد وقاعدة بيانات فارغة بدون اى جداول
وضع كود الاتصال بقاعدة البيانات بالبرنامج ومن ثم انشاء حدث كالاستعلام
ولكن طبق به كود انشاء الجدول
ومن ثم زر اخر وضع بالحدث الخاص به كود لتحديث الجدول لاضافة عمود جديد بالجدول نفسه
حتى تعتاد على الامر وتجد ان الامور اصبحت سلسة معاك
وتذكر اهم شئ باخد نسخة احتياطة من قاعدة البيانات والبرنامج عند العميل قبل اى تحديث
الرد }}}
تم الشكر بواسطة: larbihamri


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة فى سى شارب ضرورى جدا said-12 1 298 03-03-24, 09:49 PM
آخر رد: justforit
  هل الكود هذا صحيح خاص بالربط مع قاعدة بيانات SQL server تركي احمد 0 212 15-02-24, 10:04 AM
آخر رد: تركي احمد
  مساعدة فى سى شارب said-12 3 214 14-02-24, 12:17 AM
آخر رد: Taha Okla
  [سؤال] احتاج الى مساعدة فى تعديل مشروع خاص C# وقاعدة البيانات SQL Server كتكوت المصري 1 504 15-08-23, 02:02 AM
آخر رد: WAEL ABED
  [C#.NET] جلب البيانات من اليوزر كنترول Heemo 1 659 02-06-23, 12:57 AM
آخر رد: G20
  [سؤال] السلام عليكم بدون زحمة عندي نظام ارشفة مشتغلة بلغة سي شارب وقاعدة بيانات سكوال سيرفر مرتضى 1 675 13-05-23, 10:36 PM
آخر رد: عبدالله الدوسري
  [C#.NET] لدي مشكلة في اضافة count down timer لتطبيق online examination system Fatmakar 1 723 26-03-23, 01:04 PM
آخر رد: sanyor77
  [سؤال] ارسال SMS من خلال الكمبيوتر thevirus 2 1,940 06-01-23, 08:27 PM
آخر رد: hrpkoh
  [SQL] كيفية اضافة الارقام العربيه وخزنها في sql TITOMOH 1 658 12-12-22, 05:20 PM
آخر رد: mowza
  [C#.NET] تعديل سجل في listbox ali_ahmed12 2 600 13-11-22, 03:59 PM
آخر رد: ali_ahmed12

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم