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

مشكلة عند الاضافة على قاعدة بيانات

بدأه kafi في 24 يونيو 2013 · 9 رد · 840 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

 

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

 

لدي قاعدة بيانات Data، تحتوي على جدول واحد باسم Zatea

 

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

 

تم وضع زر اضافة على شاشة البرنامج من اجل اضافة ذاتية جديدة

 

تم كتابة الكود

 

ملاحظة ( من خلال البحث بالانترنيت وبالامثلة المختلفة ... استنتجت ان هناك 3 طرق يمكن استخدامها من اجل الاضافة في الوضع المنفصل...)

 

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

 

وفيما يلي نض الكود

  Dim dRow As DataRow

        dRow = ds.Tables("Zatea").NewRow

        With dRow
            .Item("Customer") = Customer_txt.Text
            .Item("area") = Area_ComboBox.Text
            .Item("bayan") = Bayan_Listbox.SelectedItem

            .Item("Phone1") = Phone1_txt.Text
            .Item("Phone2") = Phone2_txt.Text
            .Item("Mobile") = Mobile_txt.Text
            .Item("Fax") = fax_txt.Text

            .Item("Email") = email_txt.Text
            .Item("Note") = Note_txt.Text
        End With

        ds.Tables("Zatea").Rows.Add(dRow)
        da.Update(ds, "zatea")
        ds.AcceptChanges()
        MsgBox("تمت عملية الاضافة والحفظ في قاعدة البيانات بنجاح")

ولكن يعطي رسالة خطا، ولا تتم اضافة البيانات

 

ارجو من اخواني الكرام، تعديل المثال المرفق، وفق الطريقة المذكورة وليس ضمن طريقة اخرى.....حتى اتعلم اين اخطئت

 

والف شكر

 

 

 

 

Q01.rar

#2

السلام عليكم ..

الحل باستخدام CommandBuilder  كمايلي : 

    Private Sub btn_Save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Save.Click
        Dim dRow As DataRow

        dRow = ds.Tables("Zatea").NewRow


        With dRow
            .Item("Customer") = Customer_txt.Text
            .Item("Area") = Area_ComboBox.Text
            .Item("Bayan") = Bayan_Listbox.SelectedItem

            .Item("Phone1") = Phone1_txt.Text
            .Item("Phone2") = Phone2_txt.Text
            .Item("Mobile") = Mobile_txt.Text
            .Item("Fax") = fax_txt.Text

            .Item("EMail") = email_txt.Text
            .Item("Notes") = Note_txt.Text
        End With
        Dim builder As New OleDbCommandBuilder(da)
        builder.QuotePrefix = "["
        builder.QuoteSuffix = "]"
        MsgBox(builder.GetInsertCommand.CommandText)
        ds.Tables("Zatea").Rows.Add(dRow)
        da.Update(ds, "Zatea")

        ds.AcceptChanges()
        MsgBox("تمت عملية الاضافة والحفظ في قاعدة البيانات بنجاح")
    End Sub

 تم استبدال Note  بــ Notes  ..

Update Method

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 24 يونيو 2013 في 11:46

1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3

الف الف شكر

اخي houssam

على ما تفضلت به

 

اقتباس
 تم استبدال Note  بــ Notes

 

 

كنت مستغربا ... ومتسائلاً .... هل لم انتبه في كتابة الاكواد الى ان اسم الحقل في قاعدة البيانات هو Notes

 

وبصراحة ... كنت وضع ذات السؤال على منتدى اخر...

وايضا ...تفاجئت من قيام من رد علي ... بتغيير كافة اسماء الحقول...

وهنا ....... دخل الشك .. الي

لماذا يتم تغيير الاسماء..... وبعد تغيير الاسماء .... تنيجح العملية


الى ان حصلت على الجواب.........

وهو ان بعض الاسماء تكون عبارة عن كلمات محفوظة ضمن Jet 4 ونحن لا نتوقع ... الامر الذي يسبب الخطاً ... كما حدث معي

وهو ان اسم الحقل Note هو اسم محفوظ

 

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

وفيما يلي رابط لصفحة  الكلمات المحفوظة التي يجب الانبتاه اليها

http://support.microsoft.com/kb/248738

 

واخيرا

 

الف الف شكر على ماتفضلت به اخي حسام

بارك الله فيك

#4
kafi كتب:

الف الف شكر على ماتفضلت به اخي حسام

بارك الله فيك

بارك الله بك اخي .. و شكرا لك على الرابط المفيد .

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#5

الاستاذ  

houssam11350_11350

 

برجاء   توضيح    كيفية تعديل   البيانات    اي  نضع ذر  امر    يقوم بتعديل   البيانات    مثل   اضافة البيانات      

 

علي   ان يتم التعديل  وعند العودة الي  الفورم الاول  يقف  المؤشر   عند  السجل الذي تم تعديله    شكرا   مع رجاء  تنفيذ  الطلبي هذا

#6

السلام عليكم ...

يمكن تنفيذ التعديل باكثر من طريقة ...

يرجى مراجعة الدروس في المنتدى ...

مرفق المثال ...

My_First_Quation_001.rar

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 2 يوليو 2013 في 01:55

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#7

السلام عليكم

 

الف شكر/ اخي حسام

على اضافة كود التعديل

 

حاولت التجريب على بعض السجلات، فتبين لي مايلي :

1- الامور تنجح ......عندما تكون كافة حقول السجل فيها قيم مثل (سجل سمير سالم )

 

2- بينما لا تنجح، وتظهر رسالة خطأ، عند محاولة تعديل سجل فيه بعض الحقول فارغة ........تظهر رسالة خطأ مثل ( سجل محمود قصار )

 

ارجو تعديل المثال المرفق

 

والف الف شكر

تم تعديل هذه المشاركة بواسطة kafi في 2 يوليو 2013 في 00:04

#8

السلام عليكم .

بارك الله بك أخي kafi  ..

سبب الخطأ أننا نحاول غظهار بيانات قيمتها Null  في الــ TextBox  ... الحل بتفحص القيمة قبل الإظهار ..

بعض الحقول تم وضعها على أنها allow zero length = no  أي لا يمكن ادخال قيمة فارغة فيها , يمكن تغيير ذلك من تصميم الجدول في القاعدة .

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

تم تعديل مرفقات المشاركة السابقة ..

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#9

الف الف شكر

اخي حسام على التوضيح الرائع

 

اقتباس
بعض الحقول تم وضعها على أنها allow zero length = no  أي لا يمكن ادخال قيمة فارغة فيها , يمكن تغيير ذلك من تصميم الجدول في القاعدة .

 

 

وخاصة على هذه المعلومة الاكثر من رائعة، بارك الله فيك، على انك لم تبخل بها علي، وهي سبيل كبير لتنجنب الكثير من ظهور رسائل الخطا .

 

 ان المعلومة التي ذكرتها تغيب عن اذهان معطم المبتدئين امثالي، ولا ينتبهون الىها، عند تصميم حقول قاعدة البيانات

 

والسلام عليكم

#10

بارك الله بك أخي kafi  ..

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

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