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

مشكلة في تصدير البيانات

بدأه tatatab في 18 فبراير 2012 · 11 رد · 1,570 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخواني اقوم بعمل تصدير للبيانات من الاكسل الى SQL باستخدام احد المشاريع في هذا المنتدى وعند اختيار ملف الاكسل وتحويله تظهر لي رسالة الخطا التالية :

object reference not set to an instance of an object.

فكيف لي حل هذه المشكلة .

#2

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

هذه رسالة تفيد أن هناك خطأ برمجي في البرنامج المستخدم ...

ممكن ترسل لنا البرنامج و الملف .. إذا أردت أن نساعدك..

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

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

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

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

#3
houssam11350_11350 كتب:

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

هذه رسالة تفيد أن هناك خطأ برمجي في البرنامج المستخدم ...

ممكن ترسل لنا البرنامج و الملف .. إذا أردت أن نساعدك..

اخي البرنامج موجود هنا فى المنتدى فى مشروع باسم "ImportExcel"

ImportExcel.rar

#4

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

  1. اضغط الزر "تحميل ملف الأكسس " ثم حدد الملف ..لكنه عندي يعطي رسالة خطأ ... ربما نسخة الــ Office غير متوافقة (2007) و الملف هو 2003 ... لا يهم ..
  2. المفروض أن البرنامج يملئ اللائحة بأسماء الــ Sheet من ملف الأكسل , و لكن بما أنه أعطى خطأ , نقوم بإدخاله بشكل يدوي و كذلك اسم الجدول ... بشرط ان تكون الــ Sheet موجودة فعلا في الملف المحدد ..
  3. يجب إنشاء الجدول بقاعدة البيانات , و بنفس أسماء الحقول الموجودة في الــ Sheet .. و لسرعة العمل .. قمت بإضافة زر "إنشاء الجدول" يقوك بإنشاء الجدول تلقائيا و بنفس أعمدة الــ Sheet و نوع بيانات varchar بطول 50 , يمكنك تغييره من داخل الكود ..
  4. اضغط "حفظ في قاعدة البيانات" , الذي كان به مشكلة أن أسماء الأعمدة مثبتة داخل الكود ... و كان المفروض عليك تغييرها إلى الحقول الجديدة و كانت كمايلي :
    sqlb.ColumnMappings.Add("Description", "Description")
                     	sqlb.ColumnMappings.Add("Option1", "Option1")
                     	sqlb.ColumnMappings.Add("Option2", "Option2")
                     	sqlb.ColumnMappings.Add("Option3", "Option3")

    و تم تعديلها كي تأخذ قيمها من الــ Sheet كمايلي :

     For Each col As DataColumn In ds.Tables(0).Columns
    
                        	sqlb.ColumnMappings.Add("[" & col.ColumnName & "]", "[" & col.ColumnName & "]")
                    	Next

  5. انتبه لقيمة الــ connection String في الأسطر الأولى من الفورم .. يمكنك تغييره ..
  6. الملف بعد التعديل في المرفقات ..

ImportExcel.rar

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

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

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

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

#5

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

#6

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

بارك الله بك أخي .. تفضل ..

  1. ماذا تقصد "برفع البيانات " , هل تقصد تصديرها من الإكسل إلى sql server ؟
  2. البرنامج الذي عملنا به .. يقوم بمسح كامل بيانات الجدول القديمة و يضع البيانات الجديدة مكانها .. يمكنك تغيير ذلك .. بحذف العبارة التي تمسح البيانات القديمة من الكود و تعيد تنفيذ البرنامج ..فيضيف البيانات الجديدة إلى القديمة دون حذف ... أو لو كان مطلبك دمج البيانات الجديدة بالقديمة .. فهذه تحتاج معالجة خاصة .. ليست في ذهني الآن ...
  3. طالما أن البيانات التي تم استيرادها من الإكسل موجودة في الــ dataTable فيمكننا معالجتها بالطريقة التي نريد ..

اتمنى أن أكون فهمت السؤال بشكل صحيح ..

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

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

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

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

#7
houssam11350_11350 كتب:

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

بارك الله بك أخي .. تفضل ..

  1. ماذا تقصد "برفع البيانات " , هل تقصد تصديرها من الإكسل إلى sql server ؟
  2. البرنامج الذي عملنا به .. يقوم بمسح كامل بيانات الجدول القديمة و يضع البيانات الجديدة مكانها .. يمكنك تغيير ذلك .. بحذف العبارة التي تمسح البيانات القديمة من الكود و تعيد تنفيذ البرنامج ..فيضيف البيانات الجديدة إلى القديمة دون حذف ... أو لو كان مطلبك دمج البيانات الجديدة بالقديمة .. فهذه تحتاج معالجة خاصة .. ليست في ذهني الآن ...
  3. طالما أن البيانات التي تم استيرادها من الإكسل موجودة في الــ dataTable فيمكننا معالجتها بالطريقة التي نريد ..

اتمنى أن أكون فهمت السؤال بشكل صحيح ..

بالظبط يا اخي انا اقصد رفع البيانات اى تصديرها , وبالنسبة الى التعديل كما تعلم اذا كان هناك ID فى الجدول فعند الرفع اذا حذفت العبارة التى تمسح الببانات سوف يخبرني بانه لا يجوز اضافة البيان مرتين , اريد جملة تعديل , بمعنى اضف البيانات التالية اذا كانت موجودة من قبل قم بعمل التعديل فقط او اضفها كاملة اذا لم تكن موجودة من قبل

وشكرا

#8
tatatab كتب:

بالظبط يا اخي انا اقصد رفع البيانات اى تصديرها , وبالنسبة الى التعديل كما تعلم اذا كان هناك ID فى الجدول فعند الرفع اذا حذفت العبارة التى تمسح الببانات سوف يخبرني بانه لا يجوز اضافة البيان مرتين , اريد جملة تعديل , بمعنى اضف البيانات التالية اذا كانت موجودة من قبل قم بعمل التعديل فقط او اضفها كاملة اذا لم تكن موجودة من قبل

وشكرا

أخي ممكن تستخدك Datatable واحد لـ Excel Sheet والآخر للـ DB Table وتعمل لوب على كل صف في DataTable والمقارنة بينهم ... هذا بالنسبة لأكثر من صف ، أما إذا كان لصف واحد فقط فأعتقد أن الأمر بسيط من خلال عدد Rows بعد الشرط .

... إذا كنت تعتقد أن مشاركتي مفيده ، الرجاء قم بتقييمي ...

%2525D8%2525A8%2525D8%2525B5%2525D9%252585%2525D8%2525A9%252B%2525D8%2525B9%2525D9%252584%2525D9%252585%252B%2525D9%252588%2525D8%2525B5%2525D8%2525B1%2525D8%2525AE%2525D8%2525A9%252B%2525D8%2525A7%25

#9
عاشق للبرمجة كتب:

أخي ممكن تستخدك Datatable واحد لـ Excel Sheet والآخر للـ DB Table وتعمل لوب على كل صف في DataTable والمقارنة بينهم ... هذا بالنسبة لأكثر من صف ، أما إذا كان لصف واحد فقط فأعتقد أن الأمر بسيط من خلال عدد Rows بعد الشرط .

اخي هل من الممكن ان توضح لي اكثر اذا سمحت

#10

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

  1. تم إضافة رز "دمج البيانات" على أساس حقل نقوم بتحديده نحن ...
  2. التعديلات بحاجة إلى اختبار , و التأكد من عملها بشكل صحيح ,و لا استطيع ضمان عملها بشكل صحيح مئة بالمئة في كافة أنواع البيانات و احجامها ..
  3. الكود في المرفقات في المشاركة رقم 4 رابط

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

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

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

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

#11
houssam11350_11350 كتب:

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

  1. تم إضافة رز "دمج البيانات" على أساس حقل نقوم بتحديده نحن ...
  2. التعديلات بحاجة إلى اختبار , و التأكد من عملها بشكل صحيح ,و لا استطيع ضمان عملها بشكل صحيح مئة بالمئة في كافة أنواع البيانات و احجامها ..
  3. الكود في المرفقات في المشاركة رقم 4 رابط

اخي هناك مشكلة , التصدير يقوم بنجاح ولكن عند فتح النموذج لاستعراض البيانات بعضها يكون علامات استفهام والبعض الاخر لا يظهر جميع البيانات فى نموذج vb.net مع العلم باني ارى كل البيانات فى القاعدة , فكيف لي بحل هذه المشكلة

#12

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

اقتباس
اخي هناك مشكلة , التصدير يقوم بنجاح ولكن عند فتح النموذج لاستعراض البيانات بعضها يكون علامات استفهام والبعض الاخر لا يظهر جميع البيانات فى نموذج vb.net مع العلم باني ارى كل البيانات فى القاعدة , فكيف لي بحل هذه المشكلة
.. إذا كانت البيانات بالعربية .. يجب أن يكون الــ sql server يدعم العربية ... أو ربما المشكلة لها سبب آخر ...لا أعرف ما هو ..

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

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

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

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

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