منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : ظهور رسالة خطأ: نوع البيانات غير متطابق في تعبير المعايير.
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
[attachment=15517][attachment=15516]السلام عليكم ورحمة الله وبركاته
أعمل على فيجوال ستوديو 2010، واتصلت بقاعدة البيانات أكسس 2010، والتي تحتوي على جدولين؛ أحدهما خاص باسم المستخدم والباسوورد، ووضعت الكود الخاص بفحص اسم المستخدم والباسوورد عند الضغط على زر Login، لكن عند الضغط عليه تظهر الرسالة  المرفقة في الصورة وهي: نوع البيانات غير متطابق في تعبير المعايير، علماً أن الحقل الخاص باسم المستخدم (نص) والباسوورد (رقم).
السؤال: أرجوا توضيح سبب الخطأ، وجزاكم الله خيراً.
اسم المستخدم نص والباسوورد رقم
جرب تحول نص الباسوورد الى رقم في الاستعلام
convert.toint32(textbox2.text)
(22-09-17, 10:45 PM)محمد كريّم كتب : [ -> ]اسم المستخدم نص والباسوورد رقم
جرب تحول نص الباسوورد الى رقم في الاستعلام
convert.toint32(textbox2.text)

جزيت خيراً على الرد؛ لكن يبقى نفس الخطأ، وتظهر نفس الرسالة !!
وعليكم السلام ورحمة الله وبركاته


http://vb4arb.com/vb/showthread.php?tid=21817

لم تقم بتعريف dt

انظر للسطر الثاني

كود :
Dim da As New OleDbDataAdapter("Select * from Users where UserName = '" & TextBox1.Text & "'and UserPass ='" & TextBox2.Text & "' ", con)
      Dim dt As New DataTable
        da.Fill(dt)

        If dt.Rows.Count > 0 Then

Else

End If
(22-09-17, 11:53 PM)سعود الشامان كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته


http://vb4arb.com/vb/showthread.php?tid=21817

لم تقم بتعريف dt

انظر للسطر الثاني

كود :
Dim da As New OleDbDataAdapter("Select * from Users where UserName = '" & TextBox1.Text & "'and UserPass ='" & TextBox2.Text & "' ", con)
      Dim dt As New DataTable
        da.Fill(dt)

        If dt.Rows.Count > 0 Then

Else

End If

جزيت خيراً على الرد، لقد قمت بتعريف dt في Module1:
كود :
Imports System.Data.OleDb

Module Module1
   Public con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Waleed Al-Khamesy\Desktop\Test.accdb")
   Public da As New OleDbDataAdapter
   Public dt As New DataTable

   Public Sub Load_Account()
       dt.Clear()
       da = New OleDbDataAdapter("select * from Users", con)
       da.Fill(dt)
   End Sub
End Module

الملف بالمرفقات تسهيلاً للجواب، أسأل الله التوفيق لإيجاد حل لهذا الأمر.
جرب الآن بعد التعديل

https://up.top4top.net/downloadf-630t3xqp1-rar.html
كود :
da = New OleDbDataAdapter("Select * from Users where UserName = '" & TextBox1.Text & "'and UserPass =" & Val(TextBox2.Text) , con)
(23-09-17, 01:16 AM)سعود الشامان كتب : [ -> ]جرب الآن بعد التعديل

https://up.top4top.net/downloadf-630t3xqp1-rar.html

جزيت خيراً؛ لكن لا زال الخطأ موجوداً، ولو نظرت في الـ Module1 لوجدت dt معرف مسبقاً للمشروع كله.

(23-09-17, 01:21 AM)wale90 كتب : [ -> ]
كود :
da = New OleDbDataAdapter("Select * from Users where UserName = '" & TextBox1.Text & "'and UserPass =" & Val(TextBox2.Text) , con)

جزيت خيراً؛ تمت تجربة الكود بنفس الصيغة قبل ذلك وما غير شيئاً.
خسارة انك ما جربت تعديلي
(23-09-17, 01:52 AM)wale90 كتب : [ -> ]خسارة انك ما جربت تعديلي

جزيت خيراً على اقتراحك، واعلم يقيناً أني لا أتجاهل أي تعليق أو رأي، وقد قمت حقاً بتجربته لكن دون جدوى، وأخبرتك أني قمت بتجربته سابقاً، لك جزيل الشكر.
الصفحات : 1 2