تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
DataType Mismatch in criteria expression
#1
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته,

إخواني الافاضل, يوجد لدي مشكلة في الكود التالي:
PHP كود :
Dim DA As New OledbAdapter = ("SELECT emp_name.Emp_Tbl, emp_age.Emp_Tbl, emp_year.Emp_Tbl, emp_salary.Emp_Tbl FROM Emp_Tbl WHERE emp_year.Emp_Tbl = '" ComboBox1.SelectValue "'"Cn)

Dim DS As New DataSet
DS
.Clear()
DA.Fill(DS,"Table"
حيث يظهر المؤشر على الكود:
PHP كود :
DA.Fill(DS,"Table"

و رسالة الخطأ هي:

كود :
DataType Mismatch in criteria expression

مع العلم, إن نوع بيانات الحقل emp_year.Emp_Tbl هو Integer في قاعدة البيانات من نوع Access.
و إن الـ ComboBox1 مملوء من ذلك الحقل.

و حاولت عمل التالي:
PHP كود :
Dim A1 As Integer Convert.ToInt16(ComboBox1.SelectedValue)
Dim DA As New OledbAdapter = ("SELECT emp_name.Emp_Tbl, emp_age.Emp_Tbl, emp_year.Emp_Tbl, emp_salary.Emp_Tbl FROM Emp_Tbl WHERE emp_year.Emp_Tbl = '" A1 "'"Cn

و تبقى نفس رسالة الخطأ.

ما هو الحل؟
الرد }}}}
تم الشكر بواسطة:
#2
السلام عليكم

اخي العزيز المتغير A1 من نوع integer اذا لماذا تضعه بين علامتي التنصيص المفردة؟ امسح علامتي التنصيص المفردة لانها فقط للنصوص

هذا اولا اما ثانيا اخي العزيز كيف تكتب اسم الحقل ومن ثم اسم الجدول؟ هذا خطأ فادح فعليك كتابة اسم الجدول ثم نقطة ثم اسم الحقل

كود :
Dim A1 As Integer = Convert.ToInt16(ComboBox1.SelectedValue)
Dim DA As New OledbAdapter = ("SELECT Emp_Tbl.emp_name, Emp_Tbl.emp_age, Emp_Tbl.emp_year, Emp_Tbl.emp_salary FROM Emp_Tbl WHERE Emp_Tbl.emp_year = " & A1, Cn)

[COLOR="#800080"]ملاحظة اخيرة لايجوز كتابة المواضيع الخاصة بقواعد البيانات في هذا القسم اخي العزيز رجاءا تقيد بقوانين المنتدى والا تعرض الموضوع للحذف

تم النقل الموضوع[/COLOR]
الرد }}}}
تم الشكر بواسطة:
#3
اخوية العزيز سجاد,
بالفعل لا يجب وضع الحقل قبل اسم الجدول, بس لم اكن على حاسبة المشروع من كتبت هذا الكود و لهذا خطأت بكتابته Smile

أما بالنسبة للحل الذي وضعته انت, و الي لازم امسح علامتي التنصيص المفردة. قمت بهذا و إشتغل المشروع مضبوط. و بما إنه هذه العلامات هي للنصوص فقط (وهالشيء لم أكن اعرفه من قبل لأنني جديد في برمجة قواعد البيانات) فقمت بعمل الكود على الشكل التالي و لقد إشتغل مضبوط أيضاً:

PHP كود :
Dim DA As New OledbAdapter = ("SELECT Emp_Tbl.emp_name, Emp_Tbl.emp_age, Emp_Tbl.emp_year, Emp_Tbl.emp_salary FROM Emp_Tbl WHERE Emp_Tbl.emp_year = " ComboBox1.SelectedValueCn

لأنه قيمة الـ ComboBox1 هي رقم, ولهذا كان الخطأ يقول DataType Mismatch بسبب علامتي التنصيص المفردة. لعد يكولون مايكروسوفت ميفتهمون Wink
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ما هو حل رسالة data type mismatch in criteria expression اثناء البحث بين تاريخين mremi78 0 783 23-08-14, 01:56 PM
آخر رد: mremi78
  Data type mismatch in criteria expression. alaqsa 33 2,771 11-08-13, 01:28 AM
آخر رد: Omar Mekkawy

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم