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

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

بدأه PR-web في 17 مارس 2011 · 8 رد · 1,074 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أنا لدي صفحة

مربوطة بداتابيس

وعندي table في الداتابيس يحتوي تقريبا 200 row

واريد من المستخدم أنه يختار صفوف معينة بحيث اني أخزن الصفوف المختارة من اليوزر في table ثاني (هذا الجدول هو عبارة عن العلاقة بين جدولين)

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

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

بحيث ما اسمح لليوزر انه يدخل البيانات بشكل نصي

أريد أقتراحاتكم في هذا الشيء؟

وشكرا

#2
PR-web كتب:

واريد من المستخدم أنه يختار صفوف معينة بحيث اني أخزن الصفوف المختارة من اليوزر في table ثاني (هذا الجدول هو عبارة عن العلاقة بين جدولين)

أظن أن السؤال غير واضح .......... ارجو إعادة الصياغة فلم تصل الفكرة

قل لمن يحمل هما ****** إن همــــا لا يدوم
:rolleyes: :rolleyes: :clapping: :rolleyes: :rolleyes:

مثلا تفنى المسـرة ***** هكذا تفنى الهموم

#3

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

yaso_772@yahoo.com

#4

جرب ما يلي

        int CheckedCount = 0;
        int ID = -1;

        foreach (GridViewRow R in GridView1.Rows)
        {
            CheckBox C = R.FindControl("CheckBox1") as CheckBox;
            if (C != null)
            {
                if (C.Checked)
                {
                    CheckedCount++;
                    ID = int.Parse(R.Cells[0].Text);
                    if (CheckedCount >= 1)
                    {
                        Label1.Text="you checked "+CheckedCount+" items";

                    }
                }
            }
        }

قل لمن يحمل هما ****** إن همــــا لا يدوم
:rolleyes: :rolleyes: :clapping: :rolleyes: :rolleyes:

مثلا تفنى المسـرة ***** هكذا تفنى الهموم

#5
Tammam_KD كتب:

أظن أن السؤال غير واضح .......... ارجو إعادة الصياغة فلم تصل الفكرة

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

يعني أنا أحترت

أخليها drop down list

وكل مرة يختار يحفظ (بس انها صعبه في التعامل)

او أخليها drop down with checkbox

ويختار الي يبغاه وبعدين يسوي سيف (بس راح تطلع اللست طويلة)

أو أخليها عبارة عن أعمدة متجاورة من ال checkbox ويجي يختار منها (شكلها مو عاجبني)

أو أخليها قريدفيو مع شيك بوكس زي ما قال اخوي (YASO_772 Icon )

أو أخليها search drop dowm list

ماهي الطريقة الأفضل ؟؟

وهل هناك طرق أخرى أفضل؟

#6

أعتقد أن الطريقة الأفضل هي الإضافة المباشرة

يعني جدولين في قاعدة البيانات

كل جدول مربوط في gridview

الأول للإختيار والثاني لإظهار الشيئ الذي إختاره مع إمكانية حذف السطر

في gridview 1 يكون بجانب كل سطر زر عند الضغط عليه يتم إضافة بيانات هذا السطر إلى الجدول الثاني مع تحديث gridview2

طبعا داخليا يجب أن يكون هناك حقل في الجدول الثاني حتى يتم تخزين إسم المستخدم أو Id الذي أضاف هذه السطور وإضافته للجدول الثاني

مع كل ضغط لزر الإضافة

الله أكبر الله أكبر الله أكبر لآ إله إلا الله الله أكبر الله أكبر ولله الحمد

#7
PR-web كتب:

أو أخليها قريدفيو مع شيك بوكس زي ما قال اخوي (YASO_772 Icon )

مثلما قال الأخ YASO_772 وقد وضعت لك الطريقة فقط طبق كود الإضافة لقاعدة البيانات في المكان المناسب والحل الأمثل برأيي هو وضع كود الإدخال بالطريقة التالية ضمن حلقة IF

string sql = ""; // must be out of foreach loop
if (CheckedCount >= 1)
                    {
                       sql += "insert into table(culs)values(valus) ;";
                       // becareful there is ; at the end of quiery

                    }

خارج حلقة foreach قم بتنفيذ الاستعلام المخزن ضمن sql

تم تعديل هذه المشاركة بواسطة Tammam_KD في 17 مارس 2011 في 18:46

قل لمن يحمل هما ****** إن همــــا لا يدوم
:rolleyes: :rolleyes: :clapping: :rolleyes: :rolleyes:

مثلا تفنى المسـرة ***** هكذا تفنى الهموم

#8

شكرا لكم أعزائي

KV2010

Tammam_KD

YASO_772

أخي الكريم Tammam_KD

الطريقة التي وضعتها هي ما أفكر به

sql += "insert into table(culs)values(valus) ;";

هل تحتاج هذه الطريقة connection مع الداتابيس ,وكيف طريقة تنفيذها

مع العلم اني استخدم Microsoft Visual Web Developer 2010 Express

وأستخدم SQL server 2008

انا استخدمت INSERT query

داخل ال foreach لكن يظهر لي ارور بسبب ال جملة con.open()

فهل أحتاج لهذه الجملة

مع اني استخدمت طرق متنوعة من الادخال لكن يظهر لي هذا الخطأ

#9

ليس في هذه العبارة فقط ............. بل

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

ارجو الله ان ينفعنا بما علمنا

قل لمن يحمل هما ****** إن همــــا لا يدوم
:rolleyes: :rolleyes: :clapping: :rolleyes: :rolleyes:

مثلا تفنى المسـرة ***** هكذا تفنى الهموم

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

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

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

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

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