الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

من: أريد حلا لمشكلة Dynamic SQL مشكلة عجزت مايكروسفت عن حلها SQL Server 2005 EnterPrise

مغلق
بدأه jooorj في 5 نوفمبر 2006 · 3 رد · 840 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ، تحية طيبة.

أنا أبرمج C# مع SQLSERVER 2005 .. ولكن عندي مشكلة كالتالي :

هذه رسالة الخطأ تظهر عندما أحاول حفظ التعديل في الداتا قريد DataGrid ..

Dynamic SQL generation is not supported against a SelectCommand that does not return any base

table information

حيث أنها تظهر فقط عندما أستخدم SQL Server 2005 EnterPrise -- ولا تظهر مطلقا عندما استخدم SQL 2000 أو SQL Server 2005 Express..

احبتي بحث على الانترنت لمن زهقت ولا أجد حلا حتى في مايكروسفت نفسها..

وانا أسال الفريق العربي للبرمجة لعلي أجد مبتغاي وشكرا جزيلا.. وبارك الله فيكم . اخوكم محمد

--- الكود المستخدم لحفظ التعديل :

SqlCommandBuilder myBuilder   = new SqlCommandBuilder(da);
					//dataAdapter.UpdateCommand =myBuilder.GetUpdateCommand ();
					ds.EndInit ();
					dataAdapter.Update (ds,"t1");
					ds.AcceptChanges ();

----

حيث أن DatatAdpater وال DataSet معرفات بشكل عام

للعلم مرة أخرى الكود يعمل 100% على SQL 2000 وعلى SQL 2005 Express ولا يعمل بتاتا على Enterprise 2005

أشكركم

تم تعديل هذه المشاركة بواسطة jooorj في 5 نوفمبر 2006 في 10:35

موقوف من المشاركة لقلة الأدب

============================

#2

السلام عليكم ورحمة الله وبركاته

طالما تستخدم SqlCommandBuilder حاول تقوم باستخدام البرامتر لتعريف الحقول له وجرب

السلام عليكم ورحمة الله وبركاته

طالما تستخدم SqlCommandBuilder حاول تقوم باستخدام البرامتر لتعريف الحقول له وجرب

#3

السلام عليكم

هذا من الـ Bugs الموجودة في SQL 2005 حيثُ أنه لا يدعم بعض عناصر الـ .NET

على كل حال تستطيع أن تقوم في عملية التحديث أو الحذف أن تزود عنصر SqlCommandBuilder بالمفتاح الاساسي للجدول

لانه مربط الفرس بالنسبة لهذه المشكلة.

لكن الكيف و الكم يكون بقراءة هذه المقالة

ملاحظة : المقالة عن برنامج الـ Excel لكن نفس المشكلة و تقريباً الحل كذلك

بالتوفيق إن شاء الله.

في المثال يتضح المقال

#4

أشكركم جزيلا واعلمكم اني حليت المشكلة وهي بتغيير جملة الاستعلام من:

"SELECT* FROM table where ID=10" الى

"SELECT* FROM table where1=1 AND ID=10"

لاحظ أخي الكريم إضافة 1=1 حلت المشكلة عندما نطلب التعديل كما بالكود العلوي

أرجو أن تعم الفائدة للجميع وشكرا لمن ساهم في الاجابة على السؤال :)

تم تعديل هذه المشاركة بواسطة jooorj في 6 نوفمبر 2006 في 03:55

موقوف من المشاركة لقلة الأدب

============================

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…