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

مشكله عند استخدام الجمله سيليكت من داخل ado

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

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

المشكله ببساطه عند استخدامي هذه الجمله

string cmd = select * from table

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

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

select col1, col2 from table

فان البرنامج لا يعمل ويظهر لدي اكسبشن

علما انني استخدم داتا بيس اكسس والربط يكون عن طريق oledb engine

ارجو المساعده حيث انني لا يمكنني ان احول الداتا بيس الى سكول لكي اتعامل معها بالشكل الصحيح

لماذا يظهر لدي هذا الخطا

علما ان جمله الاتصال هي

string connsting = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\Documents and Settings\MRM-MLM\My Documents\AirportCodes.mdb"

وليس لدي اي خطا باي جزء اخر بالكود ولكن عندما احدد العامود المراد عمل select له سوف يظهر لدي خطا (اكسبشن )

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

للتوضيح اكثر

  string connstring = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\Documents and Settings\MRM-MLM\Desktop\airport\airportCodesDatabase.mdb";          
  OleDbConnection conn = new OleDbConnection(connstring);
            string cmd;
            OleDbDataAdapter da = new OleDbDataAdapter();
            cmd = @"select *
                   from airportCode";
            da.SelectCommand = new OleDbCommand(cmd, conn);
            DataSet ds = new DataSet();
            da.Fill(ds, "mydata");
            DataTable dt = ds.Tables["mydata"];
            dataGridView1.DataSource = dt;

هذا الكود يعمل بصوره طبيعيه

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

string connstring = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\Documents and Settings\MRM-MLM\Desktop\airport\airportCodesDatabase.mdb";
            OleDbConnection conn = new OleDbConnection(connstring);
            string cmd;
            OleDbDataAdapter da = new OleDbDataAdapter();
            cmd = @"select *
                   from airportCode";
            da.SelectCommand = new OleDbCommand(cmd, conn);
            DataSet ds = new DataSet();
            da.Fill(ds, "mydata");
            DataTable dt = ds.Tables["mydata"];
            dataGridView1.DataSource = dt;

تم تعديل هذه المشاركة بواسطة mrm-mlm في 12 أبريل 2011 في 00:07

#2

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

اخى العزيز حضرتك ليه مش كتبت نص ال exception

علشان نقدر نساعدك بطريقة صح

على العموم اتوقع ان حضرتك عامل لل dataGridView1 حقول زيادة عن الحقول اللى بتنادى عليها من جملة ال query

بمعنى اخر تاكد من ان ال dataGridView1 لا يوجد بيها حقول مش موجودة فى ال جملة ال query اللى هى ال

select

اتمنى اكون افدتك

#3

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

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

1
#4

اشكركم اخواني الاعزاء

على الجواب

عمل لدي الكود بعد ان عملت الاستعلام بالاكسس ونسخت الى الاستعلام الى جمله ال cmd

شكرا لكم مره اخرى مع تحياتي

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

كلامك صحيح اخي الكود الثاني الذي لا يعمل فقط التغير يكون في ال cmd

cmd = @"select airportname, airportcode 
from airportcodetable

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

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

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

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

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