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

خطأ في قراءة قاعدة بيانات Access

مغلق
بدأه راكان الحنيطي في 9 أغسطس 2007 · 3 رد · 742 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

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

dread = comm.ExecuteReader();

الخطأ الناتج هو:

No value given for one or more required parameters.

مع العلم ان الكود صحيح و تأكدت من عدة مواقع على النت

الكود كاملا:

String conString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + txtPath.Text + ";Persist Security Info=False";
			OleDbConnection dbcon = null;
			try
			{
				dbcon = new OleDbConnection(conString);

				String sql = "SELECT s_no,s_name,first,second,result,duration,comp_name,active,success,createfile FROM students WHERE s_no='" + txtNum.Text + "'";
				OleDbCommand comm = new OleDbCommand(sql, dbcon);

				dbcon.Open();

				if (dbcon.State == ConnectionState.Open)
				{
					OleDbDataReader dread = null;
					try
					{
						comm.CommandType = CommandType.Text;
						dread = comm.ExecuteReader();

						if (dread.Read())
						{
							txtNum.Text = dread.GetString(0);
							txtName.Text = dread.GetString(1);
							txtFirst.Text = dread.GetInt32(2).ToString();
							txtSecond.Text = dread.GetInt32(3).ToString();
							txtResult.Text = dread.GetInt32(4).ToString();
							txtDuration.Text = dread.GetString(5);
							txtComp.Text = dread.GetString(6);
							chkActive.Checked = dread.GetBoolean(7);
							chkSuccess.Checked = dread.GetBoolean(8);
							chkCreate.Checked = dread.GetBoolean(9);
						}
						else
						{
							MessageBox.Show("Could not find the number provided!", "Search Error");

						}
					}
					/*catch (OleDbException oledbex)
					{
						MessageBox.Show(oledbex.Message, "Inner DB Error");

					}*/
					finally
					{
						if (dread != null)
						{
							dread.Close();
						}

					}
				}
			}
			/*catch (OleDbException olex)
			{
				MessageBox.Show(olex.Message, "DB Error");
			}*/
			finally
			{
				if (dbcon != null && dbcon.State == ConnectionState.Open)
				{
					dbcon.Close();
				}
			}

شاكرا لكم مساعدتكم

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#2

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

أظن أن الكود صحيح وليس به شيء, ربما المشكلة أنه يوجد اسم عمود بنفس اسم كلمة محجوزة في الـ SQL ربما. فحاول أن تتأكد من هذا أو حاول أن تضع أسماء الأعمدة بين قوسين [ ].

وأين يظهر الخطأ تحديدا ؟

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#3

شكرا لك معتز شمس

الخطأ في سطر

dread = comm.ExecuteReader();

و لا أظن ان المشكلة في سطر ال SQL و هي جملة Select بسيطة. و حاولت وضع اسماء الحقول بين ` ` و [ ] لكن من غير فائدة.

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#4

اذا كان حقل s_no رقمي فلا يجب ان تضع له single qute ( ' ) في جملة sql

هذا الموضوع مغلق.

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