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

أريد إنشاء جملة Sql بواسطة الكود ثم ارسالها إلى قاعدة البيانات

مغلق
بدأه abudawoodd في 3 أكتوبر 2007 · 13 رد · 1,768 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بالفعل لقد توصلت لطريقة استخدام جمل الاستعلام بفضل مساعدة الأخ العزيزي طارق له جزيل الشكر

لكن لا زال هناك نقص

هنا يفرض علينا عدد الصناديق كلها التي وضعناها في جملة الاستعلام والتي تمثل بـ ?

وإذا تركت أي حقل دون معلومات فلن يأتيني بأي سجل لأنه لايوجد لدي أي حقل فارغ

فإإذا أردت أن أبحث في مجموعة من الأعمدة ولتكن خمسة

ووضعت خمس صناديق نص كل صندوق يختص بعامود

الذي أريده هو إن كان الصندوق يحتوي أي نص يضيفه إلى جملة الاستعلام

وإن كان فارغ تركه دون أن يضيفه إلى الجملة

فهنا كيف استطيع أن أفعل ذلك في .NET

مثال

if text<>"" then SQL=SQL+"وضع النص للعامود المطلوب"

يعني النص الذي كتب فيه شيئ يضيفه إلى جملة select والغير مكتوب فيه شيئ يتركه

لقد وجدت حلاً لكنه سيكون طويل وممل جداً

وهو انشاء جمل بكل الاحتمالات وحسب النصوص المكتوب يذهب إى الجملة المناسبة

يعني اذا عندي 5 صناديق نص علي كتابة 25 جملة

الموضوع السابق هنا لمن لم يفهم المقصود هنا

/index.php?showtopic=139501

#2

ياشباب وينكم

#3

بسم الله الرحمن الرحيم

وبه نستعين

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

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

قمت بحل هذه المشكله بأن اختبر القيمه المدخله اذا لم يكن بها اي قيمه استبدلها ب % لأختيار كل الاختيارات الممكنه لهذا الصف

أتمنى ان أكون فهمت قصدك

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

MCSD

#C

#4

أشكرك أخ D.F.

كلامك صحيح لم تفتني هذه الفكرة لكنها لا تنفع إلا مع الأعمدة النصية

وهنا أنا استخدم النص والرقم والتاريخ وفي الرقم والتاريخ لا ينفع %

وكما ذكرت سابقاً أني كنت استخدم الكود ليقارن صناديق النصوص ويكون جملة SQL تلقائية ثم يرسلها إلى القاعدة

الحل عندي إلى الآن هو كتابة جميع الاحتمالات وهو أمر مجهد جداً ويستغرق الكثير من الوقت لأنه عندي عدة جداول وأقل جدول 8 أعمدة

وإن لم يكن هناك حل آخر في VB.NET فهذا يعني أنها أخرت ولم تقدم شيئ في هذه الزاوية

شكراً مرة أخرى

#5
اقتباس
وهو انشاء جمل بكل الاحتمالات وحسب النصوص المكتوب يذهب إى الجملة المناسبة

يعني اذا عندي 5 صناديق نص علي كتابة 25 جملة

لم أوضع في موقف حرج كموقفك ولم أضطر يوم من الأيام لهذه المسألة لصغر برامجي حتى الآن. ولكن دعني أوضح لك ما جربته أنا للتو لتقليل الاحتمالات على قدر ما أمكنني. حسب الطريقة التي طلعت معي الآن عدد الجمل التي ستكتبها ليس 25 جملة ولكن = عدد الحقول التي لا تريدها أن تستخدم % (أو ربما هي أصلاً لا ينفع معها % !!) + 1.

بمعني آخر:

عدد الجمل = تلك التي لا تستخدم % + 1

أمثلة (نفترض أنك ستستخدم % مع كل الحقول النصية، أما إذا كان هناك حقل نصي لن تستخدم معه % فإنه سيكون كالتاريخ وغيره وتزيد عليك جملة!):

- لو عندنا 8 حقول اثنين منها تاريخ والباقي نص، يكون عدد الجمل 2 + 1 = 3

- لو عندنا 8 حقول اثنين منها تاريخ وواحد رقم والباقي نص، يكون عدد الجمل 3 + 1 = 4

وأعتقد أن هذا عدد مقبول نوعاً ما.. وهو ما نجحت في تحقيقه حتى الأن... وإذا كان لديك فكرة أخرى أتمنى مشاركتها.

------------

الطريقة التي أتبعها هي أني أنشأ الجملة بشكل مبدئي من جميع الحقول التي تستخدم %، ثم عند عدم خلو الحقول الأخرى من القيم أعمل زيادة على أخر الجملة بالشرط الجديد! ثم أرسلها للاستعلام!

-------------

مثال كامل مرفق!

أخوك المخلص دائماً.

QueryingAllColumns_Example.zip

تم تعديل هذه المشاركة بواسطة Adel_N في 4 أكتوبر 2007 في 20:18

In order to understand recursion, one must first understand recursion

alawfiadel@yahoo.com

#6
Adel_N كتب:
لم أوضع في موقف حرج كموقفك ولم أضطر يوم من الأيام لهذه المسألة لصغر برامجي حتى الآن. ولكن دعني أوضح لك ما جربته أنا للتو لتقليل الاحتمالات على قدر ما أمكنني. حسب الطريقة التي طلعت معي الآن عدد الجمل التي ستكتبها ليس 25 جملة ولكن = عدد الحقول التي لا تريدها أن تستخدم % (أو ربما هي أصلاً لا ينفع معها % !!) + 1.

بمعني آخر:

عدد الجمل = تلك التي لا تستخدم % + 1

أمثلة (نفترض أنك ستستخدم % مع كل الحقول النصية، أما إذا كان هناك حقل نصي لن تستخدم معه % فإنه سيكون كالتاريخ وغيره وتزيد عليك جملة!):

- لو عندنا 8 حقول اثنين منها تاريخ والباقي نص، يكون عدد الجمل 2 + 1 = 3

- لو عندنا 8 حقول اثنين منها تاريخ وواحد رقم والباقي نص، يكون عدد الجمل 3 + 1 = 4

وأعتقد أن هذا عدد مقبول نوعاً ما.. وهو ما نجحت في تحقيقه حتى الأن... وإذا كان لديك فكرة أخرى أتمنى مشاركتها.

------------

الطريقة التي أتبعها هي أني أنشأ الجملة بشكل مبدئي من جميع الحقول التي تستخدم %، ثم عند عدم خلو الحقول الأخرى من القيم أعمل زيادة على أخر الجملة بالشرط الجديد! ثم أرسلها للاستعلام!

-------------

مثال كامل مرفق!

أخوك المخلص دائماً.

نعم أخي كلامك سليم لكن لازال إلى الآن استخدام VB6 سهل بكثير إن لم يكن هناك خل آخر

هل ميكروسوفت غفلت عن هذه الناحية

أتمنى من بقية الشباب المشاركة ممن لديم فكرة

#7

عندي 10000 سؤال رداً على كلامك أخي abudawoodd بس أنا هأختصرهم في بضعة أسئلة:

اقتباس
نعم أخي كلامك سليم لكن لازال إلى الآن استخدام VB6 سهل بكثير إن لم يكن هناك خل آخر

لغة VB ولغة SQL شيئين مختلفين تماماً. ما نحن فيه يتعلق بلغة الاستعلام الهيكلي SQL بشكل أساسي... لماذا دخلت VB.Net في الموضوع؟

كيف كان VB6 في السابق يتغلب على هذه "المشكلة" بتاعت SQL؟

وبالنسبة للسهولة، هل كتابة ستة أسطر كود شيء صعب...؟ هنالك برامج بآلاف الأسطر... ثم إنت لازم تتأكد وتعمل Validation لكل التواريخ والأرقام قبل ما ترسلها للإستعلام أصلاً... ولاّ إنت مش هتعمل كده؟!... ليس هناك اختصار للجمال... عشان يكون البرنامج جميل لازم أولاً يكون جميل...

دي طبعاً دعوة للنقاش لجميع الخبراء وإن لم يكن هذا محلها لكن هل العدد الأقل من أسطر الأكواد يدل على تكويد أفضل؟ ما هو ترتيب الأولوية "عدد أقل لأسطر الأكواد" مقارنة بكل من:

- شمولية الكود وقوته

- وضوح الكود وسهولة قراءته وبالتالي إصلاحه وتطبيقه وتطويره وصيانته

- بساطة الكود

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

- مرونة الكود وقابلته لإعادة الاستعمال والمشاركة

- الوقت

- تحقيق الغرض من البرنامج 100%

وأخيراً هل عدد أسطر الأكواد مقياس سليم للجهد والعمل البرمجي؟ وما هو السطر أصلاً...؟! خصوصاً إن Compiler في أغلب اللغات لا يلقي بالاً لحرف الإرجاع Carriage Character طالما وجد ما يدل على نهاية الجملة.

اقتباس
هل ميكروسوفت غفلت عن هذه الناحية

معقولة يا أخي الكريم! أنا لا أستطيع أن أتخيل كيف راح يكون حل الموضوع بحيث يكون الحل جملة واحدة كحد أقصى بصرف النظر عن تعبئة كل الحقول من عدمها...

صدقني يا أخي ليست هنالك مشكلة... وإذا كان على شوية الأسطر التي هي أقل بكثير من عدد الأعمدة عندك.. فأنا أكتبها لك وأنا كلي ثقة أنها لن تأخذ من وقتي دقائق حتى لو كان عندك ستين عمود.

أتمنى أنك بعد أن استوعب الطريقة التي شاركت أنا بها في الموضوع أن تجد طريقة أخرى أكثر اختصاراً منها.

أخوك.

In order to understand recursion, one must first understand recursion

alawfiadel@yahoo.com

#8
Adel_N كتب:
عندي 10000 سؤال رداً على كلامك أخي abudawoodd بس أنا هأختصرهم في بضعة أسئلة:

لغة VB ولغة SQL شيئين مختلفين تماماً. ما نحن فيه يتعلق بلغة الاستعلام الهيكلي SQL بشكل أساسي... لماذا دخلت VB.Net في الموضوع؟

كيف كان VB6 في السابق يتغلب على هذه "المشكلة" بتاعت SQL؟

وبالنسبة للسهولة، هل كتابة ستة أسطر كود شيء صعب...؟ هنالك برامج بآلاف الأسطر... ثم إنت لازم تتأكد وتعمل Validation لكل التواريخ والأرقام قبل ما ترسلها للإستعلام أصلاً... ولاّ إنت مش هتعمل كده؟!... ليس هناك اختصار للجمال... عشان يكون البرنامج جميل لازم أولاً يكون جميل...

دي طبعاً دعوة للنقاش لجميع الخبراء وإن لم يكن هذا محلها لكن هل العدد الأقل من أسطر الأكواد يدل على تكويد أفضل؟ ما هو ترتيب الأولوية "عدد أقل لأسطر الأكواد" مقارنة بكل من:

- شمولية الكود وقوته

- وضوح الكود وسهولة قراءته وبالتالي إصلاحه وتطبيقه وتطويره وصيانته

- بساطة الكود

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

- مرونة الكود وقابلته لإعادة الاستعمال والمشاركة

- الوقت

- تحقيق الغرض من البرنامج 100%

وأخيراً هل عدد أسطر الأكواد مقياس سليم للجهد والعمل البرمجي؟ وما هو السطر أصلاً...؟! خصوصاً إن Compiler في أغلب اللغات لا يلقي بالاً لحرف الإرجاع Carriage Character طالما وجد ما يدل على نهاية الجملة.

معقولة يا أخي الكريم! أنا لا أستطيع أن أتخيل كيف راح يكون حل الموضوع بحيث يكون الحل جملة واحدة كحد أقصى بصرف النظر عن تعبئة كل الحقول من عدمها...

صدقني يا أخي ليست هنالك مشكلة... وإذا كان على شوية الأسطر التي هي أقل بكثير من عدد الأعمدة عندك.. فأنا أكتبها لك وأنا كلي ثقة أنها لن تأخذ من وقتي دقائق حتى لو كان عندك ستين عمود.

أتمنى أنك بعد أن استوعب الطريقة التي شاركت أنا بها في الموضوع أن تجد طريقة أخرى أكثر اختصاراً منها.

أخوك.

عزيزي أشكرك على الرد والتفاعل مع الموضوع

صدقني أنا فاهم كل ما قلت صحيح أن vb غير SQL لكن طريقة تعامل VB6 مع SQL غير طريقة التعامل VB.NET مع SQL

ولم تكن المشكلة في SQL أبداً لأن الجملة هي الجملة ترسلها إلى القاعدة من أي برنامج ليتم تنفيذها

لكن طريقة تركيب الجملة هنا طويلة ومملة في برنامجي الذي أريد كتابته

حيث أن الجدول الذي اريد التعامل معه مكون من

حقل رقم تلقائي - وحقل تاريخ - و واثنا عشر حقل نصي - وثنا عشر حقل رقمي

في الفيجوال 6 كنت اكتب لكل حقل سطر واحد فقط ليضيف الحقل إلى الجملة او لا يضيفه حسب وضع القيمة

هذا غير أني استخدم عملية بحث مطابق أو متضمن في حال كان البحث متضمن النص المطلوب استخدم % قبل النص وبعده

لكن إن كنت استخدم مطابق فهنا هذه الفكرة لن تنفعني أبداً لأنه الـ VB.NET إلى الآن يفرض علي عدد الحقول الموجودة في جملة الاستعلام ولا يسمح لي باستثناء أي من هذه الحقول من الجملة

ومع ذلك لو افترضنا أني رضيت بذلك يبقى لي هنا الرقم التلقائي و التاريخ والاثنا عشر حقلاً الرقمية

هذه اربعة عشر حقل كيف ستتعامل معها نلغي منها حقل الترقيم التلقائي لأنه دائماً يحمل قيمة يبقى 11

لا تقل لي اكتب جميع الاحتمالات لأن عدد الاحتمالات هنا 169احتمال وهذا ليس أقل من عدد الأعمدة كما ذكرت

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

وهذا تبسيط للقاعدة لكن هي في الواقع أعقد من هذا

لذا أعود وأقول إن لم يكن هناك حل آخر فإن .NET عقدت الأمر في هذه الزاوية

أرجو أن تكون فهت قصدي أخي قمن غير المعقول أن أكتب كل هذه الاحتمالات وربما أكون قد أخطأت في أحد هذه الاحتمالات كما يجب أن اختبركل هذه الاحتمالات أثناء التنفيذ وكل هذا لم يكن في VB6

أنا لا أنكر أني وجدت في هذه اللعة الكثير من التسهيل إلا في هذا المجال فإنه قد تعقد الأمر لذا أرجو تدخل أهل الخبرة في هذا المجال

وسأرفق في ردي القادم مشروع صغير يبين كيف كنت استخدم هذه الجمل قي VB6

شكراً مرة أخرى

#9

يؤسفني تماماً إني أقولك إني لم أفهمك وإنك لم تفهني وإن منظرنا كذا وحش أوي... !!!

اقتباس
لكن طريقة تعامل VB6 مع SQL غير طريقة التعامل VB.NET مع SQL

لا أعلم عن هذا والله العظيم وأتمنى أن تعطيني مثال (وليس شرح) لأني بالتأكيد أقل منك علماً في هذا الشأن.

اقتباس
ولم تكن المشكلة في SQL أبداً لأن الجملة هي الجملة ترسلها إلى القاعدة من أي برنامج ليتم تنفيذها

لأن SQL ما تفهم إلا شكل واحد معتاد من الجمل تجدنا نحاول أن نرضيها من VB قبل أن نرسل لها الشكل المعتاد الذي لا تفهم غيره! جملها غير مرنة وأنت تدفع قيمة الجمود هذا بكتابتك لأكثر من جملة في VB...

الذي لا يقبل الشروط الضمنية مع التواريخ والأرقام هو SQL ولسبب غير معروف! أما VB فهناك ملايين الطرق لتجعله يبحث ضمنيا حتى في الحقول التواريخ والأرقام.

أخي الكريم: أنت تعالج مشكلة SQL باستخدام VB ولكنك ربما غفلت للحظة ونسيت هي مشكلة من.

اقتباس
حيث أن الجدول الذي اريد التعامل معه مكون من

حقل رقم تلقائي - وحقل تاريخ - و واثنا عشر حقل نصي - وثنا عشر حقل رقمي

أمشي معاك إلى آخر المسألة وأفترض أن كل الحقول هذه حقول مهمة كنقاط بحث...

اقتباس
في الفيجوال 6 كنت اكتب لكل حقل سطر واحد فقط ليضيف الحقل إلى الجملة او لا يضيفه حسب وضع القيمة

طيب هذا نفس كلامي: جملة لكل حقل (وجملة واحدة فقط لكل حقول البحث الضمني!)...

وهذا يدل على أن الفكرة ليست واضحة لكم..

- هل قرأت مثالي؟ كم جملة هناك بالنسبة للأربعة حقول في المثال؟ أليست أربع جمل فقط على الرغم من أن ثلاثة حقول من أصل أربعة بحث متطابق؟

		Comm.CommandText = "select * from people where name like '%" & Na.Text & "%'"
		If ID.Text <> "" Then Comm.CommandText = Comm.CommandText & " and id='" & ID.Text & "'"
		If Age.Text <> "" Then Comm.CommandText = Comm.CommandText & " and age<=" & Age.Text
		If DRegister.Text <> "" Then Comm.CommandText = Comm.CommandText & " and DRegister<=#" & Format(CDate(DRegister.Text), "MM/dd/yyyy") & "#"

- ما هو كود VB6 الذي كنت تطبقه ولا تستطيع الآن أن تطبقه في VB.Net؟ أعطيني كود VB6 لأنشاء جملة الاستعلام.

اقتباس
لكن إن كنت استخدم مطابق فهنا هذه الفكرة لن تنفعني أبداً

جاوبني على هذا السؤال لأهيمة الإجابة بالنسبة لي لأني قد أكون علطان وساعتها سأعتذر لك: هل VB6 كان يستخدم % حتى مع حقول التاريخ والأرقام؟

إذا كان نعم. أنا آسف وأنت معاك كل الحق وأعتذر لك أمام الجميع وبإمكانك أن تستعلم عن 10000000000 حقل في جملة واحدة فقط!

إذا كان لا: فأنت لم تفهم طريقتي إلى الآن وأتمنى أن تكمل معي...

اقتباس
لأنه الـ VB.NET إلى الآن يفرض علي عدد الحقول الموجودة في جملة الاستعلام ولا يسمح لي باستثناء أي من هذه الحقول من الجملة

لم أفهم كيف يفرض عليك عدد الحقول في الجملة... هل تقصد أن عدد الشروط في عبارة WHERE محدود؟

اقتباس
يبقى لي هنا الرقم التلقائي و التاريخ والاثنا عشر حقلاً الرقمية

هذه اربعة عشر حقل كيف ستتعامل معها نلغي منها حقل الترقيم التلقائي لأنه دائماً يحمل قيمة يبقى 11

لا تقل لي اكتب جميع الاحتمالات لأن عدد الاحتمالات هنا 169احتمال وهذا ليس أقل من عدد الأعمدة كما ذكرت

أولاً: بعد إلغاء حقل الترقيم التلقائي من الـ 14 حقل يصبح عندك 13 حقل وليس 11 حقل.

ثانياً: لا تلغي حقل الترقيم التلقائي.

ثالثاً: لدينا 12 حقل نصي و 13 حقل رقمي وحقل واحد تاريخ... يعني لدينا 26 حقل:

عدد الجمل التي سنكتبها = عدد الحقول التي لا تقبل % + 1

عدد الجمل التي سنكتبها = 14 + 1 = 15

15 أقل من 26

مين قال 169 جملة؟ هم 15 جملة بس.

الطريقة:

1- نفترض أن أسماء الحقول النصية هو txtField01 إلى txtField12، وأن أسماء الحقول الرقمية numField01 إلى numField13، واسم حقل التاريخ هو dateField01.

2- نفترض أنك ستستخدم البحث الضمني (باستخدام %) مع كل الحقول النصية.

3- نفترض أن هناك 26 مربع نص هم TextBox1 إلى TextBox26

الحل عبارة عن 15 جملة فقط هنا.

ملاحظة: المعامل % لا يتعامل مع القيمة Null للحقل النصي.

اقتباس
لذا أعود وأقول إن لم يكن هناك حل آخر فإن .NET عقدت الأمر في هذه الزاوية

أرجو أن تكون فهت قصدي أخي قمن غير المعقول أن أكتب كل هذه الاحتمالات وربما أكون قد أخطأت في أحد هذه الاحتمالات كما يجب أن اختبركل هذه الاحتمالات أثناء التنفيذ وكل هذا لم يكن في VB6

للأسف مش فاهم قصدك... يمكن أنا غبي!

اقتباس
وسأرفق في ردي القادم مشروع صغير يبين كيف كنت استخدم هذه الجمل قي VB6

أتمنى ذلك وسأرد عليك وأعترف لك إني لم أفهم قصدك.

أخوك.

In order to understand recursion, one must first understand recursion

alawfiadel@yahoo.com

#10

عزيزي عادل

ألف شكر لك على التفاعل مع الموضوع بهذا الشكل

وعدم المؤاخذة منك إن كنت ثقيلاً في السؤال وعلى عدم توضيحي بالضبط لما أريد ( أنا المخطئ في ذلك )

ولك مني فائق الاحترام والتقدير

إن الجملة التي وضعتها سليمة وهي الطريقة التي استخدمها في مشاريعي سابقاً وكلامك سليم

لكن الكود الذي أريده أنا في لـDataSet الأداة وليس انشاء قاعدة بواسطة كود

عند انشاء جملة في dataset فإنك تضع مكان المتغير علامة ؟ ليتم استبدالها أثناء التنفيذ بالقيم المطلوبة

يرجى النظر في هذا الموضوع المشروع المرفق والنظر في ردود الشباب أيضاً

يرجى تعديله بنفس هذه الفكرة إن كانت لديك طريقة

/index.php?showtopic=139501

وهذا الرابط هو من أحد الردود في الموضوع السابق

/index.ph...139070&hl=#

يرجى النظر في كيفية استخدم الجملة وهو سيبين لك ماذا أقصد

أعتذر مرة أخرى ولك جزيل الشكر

#11

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

اقتباس
وعدم المؤاخذة منك إن كنت ثقيلاً في السؤال وعلى عدم توضيحي بالضبط لما أريد ( أنا المخطئ في ذلك )

يا خبر! نحن أخوة في الله لاتقل هذا.

اقتباس
إن الجملة التي وضعتها سليمة وهي الطريقة التي استخدمها في مشاريعي سابقاً وكلامك سليم

الحمد لله.. منت زي الفل أهوه!

اقتباس
لكن الكود الذي أريده أنا في لـDataSet الأداة وليس انشاء قاعدة بواسطة كود

الآن فقط فهمت كلامك. أنت تريد أن تستخدم Typed DataSet.

اقتباس
عند انشاء جملة في dataset فإنك تضع مكان المتغير علامة ؟ ليتم استبدالها أثناء التنفيذ بالقيم المطلوبة

وفي موضوع أخر:

اقتباس
لقد توصلت لطريقة استخدام جمل الاستعلام

لكن لا زال هناك نقص

هنا يفرض علينا عدد الصناديق كلها التي وضعناها في جملة الاستعلام والتي تمثل بـ ?

وإذا تركت أي حقل دون معلومات فلن يأتيني بأي سجل لأنه لايوجد لدي أي حقل فارغ

فإإذا أردت أن أبحث في مجموعة من الأعمدة ولتكن خمسة

ووضعت خمس صناديق نص كل صندوق يختص بعامود

الذي أريده هو إن كان الصندوق يحتوي أي نص يضيفه إلى جملة الاستعلام

وإن كان فارغ تركه دون أن يضيفه إلى الجملة

أخي الغالي: هناك نوعان من DataSet الأول هو Typed DataSet والثاني UnTyped DataSet. أنت تستخدم محرر DataSet Designer لإنشاء وتصميم Typed DataSet ولم يسبق لي التعامل مع هذا النوع. أنت لا تستخدم UnTyped DataSet وهو ما أعلم عنه وأستطيع أن أفيدك. الأمر مختلف تماماً. Typed DataSet أسرع وأقل أخطاءً من UnTyped DataSet لأنها تحفظ جميع ما يتعلق بهيكلية الجداول وأنواع البيانات في الحقول مسبقاً (في وقت التصميم) ولا تجلبها في وقت التشغيل. أنا لم أتعامل معها ولذلك لا أعلم نهائياً عن كيفية الاستعلام فيها و لا أستطيع أن "أفتي". أنا أيضاً من تجربتي للتو نجحت في عمل استعلام عن طريق إعداده مسبقاً في محرر DataSet Designer ومناداته في الحدث Load لـ Form1. ولكنه بالطبع غير مرن على الرغم من استخدامي لـ Parameter.

اقتباس
فهنا كيف استطيع أن أفعل ذلك في .NET

ليست Typed DataSets هي كل VB.Net. ولكنك أنت اخترت أن تستخدمها (ألم تكن تستخدم ADODB.Recordset مسبقاً؟ إذن لماذا لا تستخدم Class الـ DataSet?).

لا زال أمامك التالي:

إما أن: تجلب جميع السجلات من قاعدة البيانات إلى UnTyped DataSet، ثم تقوم باستخدام الدالة Select للـ DataTable للبحث عن نتائج بشروط معينة. وهذا مثال عن البحث في DataSet وعرضها في DataGridView.

أو أن: تجلب السجلات التي تريد فقط بإرسال جملة SQL المناسبة إلى قاعدة البيانات. كما فعلنا في هذا الموضوع (البرنامج الذي أرفقته لك أعلاه).

وأنا على استعداد لتوضيح الشيء الذي أعلم به ولن أتأخر في ذلك إن شاء الله.

أتمنى لك التوفيق.

أخوك المخلص دائماً.

تم تعديل هذه المشاركة بواسطة Adel_N في 7 أكتوبر 2007 في 20:46

In order to understand recursion, one must first understand recursion

alawfiadel@yahoo.com

#12

أشكرك من كل قلبي أخي عادل ماقصرت

وجزاك الله كل الخير ووفقك أليه

لقد استفدت من مشاريعك وقد تعلمت منها الكثير

لكني لازلت أريد تعلم طريقة DataSet الأداة

لذا أرجو ممن لديهم فكرة تعديل المشروع المذكور أعلاه بالمناسب

لك مني جزيل الشكر

#13

موفق إن شاء الله.

In order to understand recursion, one must first understand recursion

alawfiadel@yahoo.com

#14

وين بقية الشباب

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

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

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

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

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

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