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

مشكله عند تنفيذ هذا الكود

بدأه mrm-mlm في 4 مارس 2011 · 5 رد · 626 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لدي الكود الاتي عند عمل تنفيذ للبرنامج يظهر لدي سكول اكسيبشن (ايرور ) كيف يمكنني من حل هذا المشكله

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

 string oledbcmd = " select fourlattercode, threelattercode, cityname, airportname, countrynameinarabic, countryname " + " from airport" + " where countrynameinarabic = " + "'" + textBox1.Text + "'" ;


                OleDbConnection conn = new OleDbConnection(connstring);
                try
                {
                    conn.Open();
                    MessageBox.Show("connection is opened");

                    OleDbDataAdapter da = new OleDbDataAdapter();
                    da.SelectCommand = new OleDbCommand(oledbcmd, conn);
                    DataSet ds = new DataSet();

                    da.Fill(ds, "Airport");
                    DataTable dt = ds.Tables["airport"];

                    dataGridView2.DataSource = dt.DefaultView;
                }
                catch (OleDbException error)
                {
                    MessageBox.Show("error" + error.ToString());
                }
                finally
                {
                    conn.Close();
                }

الايررور هو

no value given for one or more required parameters

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

وعند البحث عن الخطا باستخدام الهيلب الخاص بالفيجول ستوديو ظهر لي احتمال الخطا بسسب الكونكشن لربط الداتابيس من النوع oledb engine

ارجو المساعده مع جزيل الشكر لكم

#2

جرب تستخدم الكود التالي بدل الكود اللي انت مساويه

dataGridView2.DataSource = dt;
dataGridView2.DataBind();

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

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

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

#3

شكرا اخي العزيز على الاجابه

ولكن عند استخدام الكود الي اعطيته لي

فانه لا يتم تنفيذه بسسب عدم التعرف على ال datagridview2.databind()

ولكن توجد عندي خاصيتين يمكن استخدامهما وهما databindings , databindingcomplet

مع العلم بان الا كسبشن يظهر لدي في السطر التالي

da.fill(ds."airport");

شكرا لك اخي ارجو المساعده

#4

أخي الكريم لم أجرب قط التاعمل مع قواعد بيانات الاوراكل أو غيرها تعاملت فقط مع sql

المهم جرب استبدال الكود التالي :

                    OleDbDataAdapter da = new OleDbDataAdapter();
                    da.SelectCommand = new OleDbCommand(oledbcmd, conn);
                    DataSet ds = new DataSet();

بالكود التالي :

                    OleDbDataAdapter da = new OleDbDataAdapter(oledbcmdوconn);
                    DataSet ds = new DataSet();

فكما شرحت عن الخطأ انت .......... فالخطأ يحصل اثناء ملء الداتا سيت بالبيانات

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

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

#5

أخي الفاضل حدث معي نفس الخطأ

الخطأ عندك في الـCommand لذا نرجو منك رفع الجدول الخاص بالمطارات لاعادة صياغة الـCommand

حاول تشوف المسافات وبالأخص حاسس ان فيه مسافة قبل كلمة select

باختصار راجل جملة الـselect

تم تعديل هذه المشاركة بواسطة md_mostafa في 5 مارس 2011 في 17:04

#6

شكرا لكم اخواني

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

[

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