تقييم الموضوع :
  • 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 اكيد انه كلاس
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] سؤال عام حول الكود في الفيجوال ستوديو Simo1991 2 75 11-10-18, 03:30 PM
آخر رد: Simo1991
  ممكن تحويل هذا الكود للسى شارب لو سمحتم ابو روضة 9 181 06-10-18, 02:07 AM
آخر رد: ابو روضة
  ما هو الكود المُستخدم لعدم السماح بترك ال Combobox فارغة Hazem1 26 454 04-10-18, 09:47 PM
آخر رد: princelovelorn
  هل الكود التالي صحيح لاستعادة قاعدة بيانات أكسس Hazem1 8 165 30-09-18, 01:41 AM
آخر رد: Hazem1
  [VB.NET] اريد تغير بسيط ع الكود ... e-coder 3 103 29-09-18, 04:09 PM
آخر رد: عبد الرؤوف
  احد يساعدني في تعديل هذا الكود nagoma 0 39 29-09-18, 12:06 AM
آخر رد: nagoma
Sad ما هذا الخطأ !! Hosam Ashraf Elwakel 1 61 28-09-18, 02:23 AM
آخر رد: elgokr
Lightbulb [VB.NET] هذا الخطأ لا اعرف ما هو Hosam Ashraf Elwakel 1 59 26-09-18, 12:28 AM
آخر رد: elgokr
  كيف اجعل هذا الكود يعمل على فريم ورك 4 ابو روضة 6 140 25-09-18, 11:19 PM
آخر رد: ابو روضة
  أيُهما أفضل : ربط قاعدة البيانات باستخدام الأدوات أو ربطها باستخدام الكود ؟ Hazem1 10 260 25-09-18, 10:54 AM
آخر رد: elgokr

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


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