تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
أين الخطأ في هذا الكود ..
#1
أين الخطأ ؟؟



كود :
  Private Sub login()
       Dim objUserCls As New UserCls
       If (objUserCls.Login(TxtUserName.Text, txtPassword.Text).Tables(0).Rows.Count <= 0) Then

           isloginInfoRight = False
           MessageBox.Show("إسم الدخول أو كلمة السر غير صحيحة")
       Else
           isloginInfoRight = True
           strLoginName = TxtUserName.Text
           Close()
       End If

كود :
   Private Sub logBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles logBtn.Click
       login()


   End Sub



كود :
  Public Function Login(ByVal strUserName As String, ByVal strPassword As String) As DataSet
       Dim dataSetOutput As New DataSet
       Try
           Using conn
               'conn.Open()
               Using cmd = New SqlCommand("select * from users where username=@a and password=@b", conn)
                   cmd.CommandType = CommandType.Text
                   cmd.Parameters.AddWithValue("@a", strUserName)
                   cmd.Parameters.AddWithValue("@b", strPassword)
                   adp = New SqlDataAdapter(cmd)
                   adp.SelectCommand = cmd
                   adp.Fill(dataSetOutput)
                   conn.Close()

               End Using
           End Using
       Catch ex As Exception
           ApplicationLogCls.WriteError(ex)
       End Try
       Return dataSetOutput
   End Function

عند التنفيذ وإدخال اليوزر والباسوورد تأتي رسالة ( cannot find table(0))
الرد }}}}
تم الشكر بواسطة:
#2
مارايك اخي ان تنظر لهذا المثال السريع
موديول:
كود :
Module Module1
   Public con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
End Module

كلاس:
كود :
Public Class cls_login
   Public Function isfound(ByVal un As String, ByVal ps As String) As Boolean
       Dim cm As New OleDb.OleDbCommand("", con)
       cm.CommandText = "select count(tid) from tb where un=@un and ps=@ps"
       cm.Parameters.AddWithValue("@un", un)
       cm.Parameters.AddWithValue("@ps", ps)
       If con.State = ConnectionState.Closed Then
           con.Open()
       End If
       If cm.ExecuteScalar > 0 Then
           Return True
       Else
           Return False
       End If
       If con.State = ConnectionState.Open Then
           con.Close()
       End If
   End Function
End Class
فورم به مربعي نص وزر امر
كود :
Public Class Form1

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Dim c As New cls_login
       If c.isfound(txtusername.Text, txtpassword.Text) Then
           MsgBox("OK", MsgBoxStyle.Exclamation, "")
       Else
           MsgBox("NO", MsgBoxStyle.Critical, "")
       End If
   End Sub


End Class
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة:
#3
مرحبا أخوي وشاكر لك تجاوبك الجميل ..
انا حقيقة مستواي في البرمجة أقل من مستوى هذا الكود .. لا أجيد التعامل مع الطبقات والكلاسات والبارامترات حاليا ..
هذا برنامج جاهز مطلوب مني تعديل فيه .. المشكلة انه ما يشتغل أساسا بسبب المشكلة أعلاه ..
لو أشتغل راح أجتهد في فهمه أجزاء منه لعمل التعديل المطلوب للخروج من ورطة العمل الحالية Smile
-
سؤال ؟؟
انا كمبرمج حديث التعيين .. هل من الطبيعي أن أجيد التعامل مع مثل هذه الكود ؟؟ .. حقيقة احاول اثبت وجودي وما أحب أقول اني عاجز عن شئ .. بس والله ماني قادر افهمه بشكل سليم نهائيا .. وأخشى يكون بداية سيئة للعمل  Sad
الرد }}}}
تم الشكر بواسطة:
#4
بالنسبة لي دخلت البرمجة من باب الانترنت ودرستها بطريقة ليست منهجية ومع ذلك اجد نفسي مبرمج ولو من المستوى الاول.
البرمجة تحتاج وقت وتجارب ومساعدة الاخرين فلقد وجدت اكواد رائعة من مخيلتي  اثناء مساعدة الغير.

طيب اخي الكريم فين المثال اللي اخذت منه الدالة ؟
لاني استبعد انه بهذا الشكل.
يوجد خطا (ان لم اكن مخطيء)
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة:
#5
مرحبا أخوي ..
حسب فهمي .. إن الخطأ من الكونيكشن مع الداتا بيز ..
sql sever مرفقة مع البرنامج ..
هل يتم الإصلاح عبر ملف app ??
الرد }}}}
تم الشكر بواسطة:
#6
اخي الكريم عدلت على الكود الخاص بك وعمل بشكل جيد لكن لا تنسى تعديل اسم الكلاس
هذه الدالة التي بالكلاس
كود :
Public Function Login(ByVal strUserName As String, ByVal strPassword As String) As DataSet
        Dim cmd As New OleDb.OleDbCommand("select * from tb where un=@a and ps=@b", con)
        cmd.Parameters.AddWithValue("@a", strUserName)
        cmd.Parameters.AddWithValue("@b", strPassword)
        Dim dt As New DataSet
        Dim da As New OleDb.OleDbDataAdapter
        da.SelectCommand = cmd
        da.Fill(dt)
        Return dt
    End Function

وهذا كود التحقق
كود :
If txtusername.Text.Trim = "" Or txtpassword.Text.Trim = "" Then Exit Sub
        Dim c As New cls_login
        If c.Login(txtusername.Text, txtpassword.Text).Tables(0).Rows.Count > 0 Then
            MsgBox("OK")
        Else
            MsgBox("Not", MsgBoxStyle.Critical)
        End If

محدث
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة:
#7
آسف على تعبك معي يا أخوي ..
جربت ونفس المشكلة .. والملاحظ انه البرنامج يشتغل في الأجهزة الأخرى بشكل جيد .. وفي جهازي تظهر المشكلة ..
المشكلة من الكونيكشن ..
رجاء إنت أو واحد من الإخوان يضع إيميله ارسله البرنامج يشغله ولو ما أشتغل يعرف لي فين الخطأ ..
حقيقة محتاج مساعدة ..
الرد }}}}
تم الشكر بواسطة:
#8
لا تستعجل اخي الكريم
هل انت تنسخ الكود وتلصقه في مشروعك؟؟
انا وجدت ان الكود الخاص بك يتعامل مع sql server وانا عدلت عليه ليتعامل مع اكسس لان الاهم هي الفكرة والتجارب باكسس اسرع.
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة:
#9
يا الغالي انا مبرمج متوسط المستوى .. والبرنامج مكتوب بلغة حقيقة ما فهمت معظمه ..
مطلوب مني بسرعة عمل تعديلات في البرنامج وأضافة فقرات .. راح أجتهد اضيفها بالطريقة اللي اعرفها بدون زحمة الكلاسات اللي ما أجيدها ..
بس أبغى اشغله بأي شكل كان .. يعني الرسالة ما تجي بس ..
انا غرضي حاليا انجاز مهمتي في الزمن المطلوب اللي هو يومين لأني حاليا لو ما اكملته راح افقد الفرصة .. اكمله الحين بعدها ممكن اجلس واحاول افهمه عن طريق الدروس .. 
الرد }}}}
تم الشكر بواسطة:
#10
اخي الكريم الكود اللي انت كتبت يستخدم كلاس وكما هو واضح بالسطر التالي:
كود :
Dim objUserCls As New UserCls
ماهو الـ UserCls اكيد انه كلاس
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  حل مشكلة الكود الاتي - سهل- CLARO 3 75 02-12-16, 04:06 PM
آخر رد: ali.alfoly
  [SQL] ماهو سبب هذا الخطأ بعد تثبيت SQL thevirus 2 57 30-11-16, 08:34 PM
آخر رد: ابو ليلى
  ما هو الخطاء فى هذا الكود "كود التعديل" السيد الجوهري 1 62 26-11-16, 03:22 AM
آخر رد: أبو عمر
  [VB.NET] ربط الداتا بيز بالكريستال ريبورت عن طريق الكود thevirus 3 93 22-11-16, 02:38 PM
آخر رد: thevirus
  [VB.NET] طلب تعديل ع الكود ليصبح البرنامج جاهزاً 3asfa~mdmra 8 189 12-11-16, 02:30 AM
آخر رد: 3asfa~mdmra
  كيفية تغير رسائل الخطأ؟ noway 3 69 11-11-16, 05:37 PM
آخر رد: ممدوح
  [سؤال] هل يمكن عرض عناصر الكومبوبوكس عن طريق الكود ؟؟؟؟؟؟؟؟؟؟؟؟ thevirus 1 96 10-11-16, 06:25 PM
آخر رد: أبو عمر
  كيف اضيف هذا الكود في module nabil.1710 6 122 01-11-16, 03:23 PM
آخر رد: silverlight
  كيف انقل هذا الكود منForm2 اليForm1 3asfa~mdmra 2 72 30-10-16, 01:47 PM
آخر رد: 3asfa~mdmra
  ممكن شرح هذا الكود؟ rafaag777 0 69 26-10-16, 10:18 AM
آخر رد: rafaag777

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


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