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

[ تمت الإجابة ]سؤال عن رسالة خطأ عند إستدعاء بيانات من قاعدة بيانات

بدأه محمد ونيس في 29 يناير 2009 · 5 رد · 617 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لماذا تظهر رسالة الخطأ التي أرفقتها بالموضوع ؟

الكود المسبب للخطأ


sqlgr = "select * from group"

للتأكد بأن الريكوردست مغلق
If grrs.State = adStateClosed Then

' لجلب كافة بيانات الجدول
'هذا الكود به الخطأ المذكور
grrs.Open sqlgr, d1, adOpenStatic, adLockOptimistic, 1

End If
' عبارة عن سترينج لإستقبال جملة الاسكيول

post-129055-1233240719_thumb.jpg

#2

تشير رسالة الخطأ إلى وجود خطأ نحوي في جملة SQL، لكن المشكلة غير ظاهرة عندي، أرجو رفع المشروع، أو الجزء الذي يسبب الخطأ منه

هذه الجملة خاطئة  :wacko: 


#3

إذا متأكد من وجود جدول بإسم Group داخل قاعدة البيانات .. قم بتغيير الجملة إلى هذا الشكل

 


[color= #993333; font-weight: bold;]SELECT [color= #66cc66;]* [color= #993333; font-weight: bold;]FROM [color= #66cc66;][[color= #993333; font-weight: bold;]GROUP[color= #66cc66;]]

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

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#4

الملف المرفق به برنامج اختبار للمشكلة

تغيرت المشكلة قليلا

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

test.rar

#5

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

عند إنشاء أي جدول داخل أي قاعدة بيانات يجب مراعات إختيار الأسماء المناسبة

غير المتعارضة مع الـ Syntax الخاصة بقاعدة البيانات نفسها

وعلى سبيل المثال إذا أردنا تكوين جملة إستعلام نجد أنها قد تحوي الأسماء التالية

 


[color= #993333; font-weight: bold;]SELECT[color= #66cc66;], [color= #993333; font-weight: bold;]UPDATE[color= #66cc66;], [color= #993333; font-weight: bold;]INSERT[color= #66cc66;], [color= #993333; font-weight: bold;]INTO[color= #66cc66;], [color= #993333; font-weight: bold;]DELETE[color= #66cc66;], [color= #993333; font-weight: bold;]WHERE[color= #66cc66;], [color= #993333; font-weight: bold;]GROUP[color= #66cc66;], Union[color= #66cc66;], [color= #993333; font-weight: bold;]ORDER[color= #66cc66;], [color= #993333; font-weight: bold;]BY[color= #66cc66;], [color= #993333; font-weight: bold;]DISTINCT[color= #66cc66;], DistinctRow[color= #66cc66;], In
ner[color= #66cc66;], [color= #993333; font-weight: bold;]LEFT[color= #66cc66;], [color= #993333; font-weight: bold;]RIGHT[color= #66cc66;], [color= #993333; font-weight: bold;]JOIN[color= #66cc66;], [color= #993333; font-weight: bold;]ON[color= #66cc66;], Sum[color= #66cc66;], AVG[color= #66cc66;], Min[color= #66cc66;], Mas[color= #66cc66;], Count[color= #66cc66;], StDev[color= #66cc66;], Var[color= #66cc66;], First[color= #66cc66;], Next[color= #66cc66;], Previous[color= #66cc66;], Last

لذا يجب علينا إختيار اسماء مختلفة او حين إختيار هذه الأسماء يجب وضعها بين قوسين وقت الإستدعاء

وإذا علمنا ان الخطأ في المشروع المرفق يكمن هنا :

sqlgr = "select * from group where gr_name = '" + tgr_name.Text + "'"

إذا وبعد إضافة القوسين ستصبح الجملة بالشكل التالي :

sqlgr = "select * from [group] where gr_name = '" + tgr_name.Text + "'"

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

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#6
mrx_ta7ady كتب:

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

عند إنشاء أي جدول داخل أي قاعدة بيانات يجب مراعات إختيار الأسماء المناسبة

غير المتعارضة مع الـ Syntax الخاصة بقاعدة البيانات نفسها

وعلى سبيل المثال إذا أردنا تكوين جملة إستعلام نجد أنها قد تحوي الأسماء التالية

  1. SELECT, UPDATE, INSERT, INTO, DELETE, WHERE, GROUP, Union, ORDER, BY, DISTINCT, DistinctRow,
    Inner, LEFT, RIGHT, JOIN, ON, Sum, AVG, Min, Mas, Count, StDev, Var, First, Next, Previous, Las
    t

  2.  

لذا يجب علينا إختيار اسماء مختلفة او حين إختيار هذه الأسماء يجب وضعها بين قوسين وقت الإستدعاء

وإذا علمنا ان الخطأ في المشروع المرفق يكمن هنا :

sqlgr = "select * from group where gr_name = '" + tgr_name.Text + "'"

إذا وبعد إضافة القوسين ستصبح الجملة بالشكل التالي :

sqlgr = "select * from [group] where gr_name = '" + tgr_name.Text + "'"

جزاك الله عني خيرا

فعلا شاكر ليك لأنك أخرجتني من مشكلة كانت بتأرقني وكمان إتعلمت منها حاجة للمستقبل وأنا أعلم أنه يجب الابتعاد عن الاسماء المحجوزة ولكن نسيت خالص أن جروب من الكلمات المحجوزة وكانت النتيجة كما رأيت فشكرا لأنك نبهتني وشكر لكل الناس اللي حاولت تساعدني في هذا الموضوع

تم حل المشكلة

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

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

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

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

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