تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] الشرط لا يتنفذ بشكل كامل في عملية جلب اسم المنتج
#1
مرحبا يا شباب

 اريد جلب اسم المنتج عند ادخال رقم الباركود لكن عندما يكون الرقم موجود لا يفعل شي ولا يجلب الاسم و عندما لا يوجد منتج يتم تنفيذ جزء اظهار رسالة التنبيه
الكود .

كود :
If e.KeyCode = Keys.Enter Then
           Try
             
               cmd = New OleDb.OleDbCommand("select Pro_Name from TBL_Products where Pro_Code = " & txtprocode.Text, con)
               con.Open()
               Dim drr As OleDb.OleDbDataReader = cmd.ExecuteReader
               If drr.HasRows Then
                   txtdes.Text = drr(0)



               Else
                   MsgBox("This Product Not Found !", MsgBoxStyle.Exclamation, "Sorry !!")
                   txtprocode.Clear()
                   txtdes.Clear()
                   txtqu.Clear()
                   txtmoms.Clear()
                   txtPris.Clear()
                   txtrbt.Clear()
                   txttotalt.Clear()

                   txtprocode.Focus()

               End If
               drr.Close()



           Catch ex As Exception
               Exit Sub

           Finally
               con.Close()
           End Try

       End If

 Pro_Name : اسم المنتج
pro_Code : كود المنتج

مع العلم ترتيب الاعمدة بالجدول :
Pro_ID
Pro_Code
Pro_Name

txtdes : هو تكتست بوكس لاظهار اسم المنتج
الرد }}}
تم الشكر بواسطة:
#2
(23-02-19, 03:25 AM)georgos كتب : مرحبا يا شباب

 اريد جلب اسم المنتج عند ادخال رقم الباركود لكن عندما يكون الرقم موجود لا يفعل شي ولا يجلب الاسم و عندما لا يوجد منتج يتم تنفيذ جزء اظهار رسالة التنبيه
الكود .

كود :
If e.KeyCode = Keys.Enter Then
           Try
             
               cmd = New OleDb.OleDbCommand("select Pro_Name from TBL_Products where Pro_Code = " & txtprocode.Text, con)
               con.Open()
               Dim drr As OleDb.OleDbDataReader = cmd.ExecuteReader
               If drr.HasRows Then
                   txtdes.Text = drr(0)



               Else
                   MsgBox("This Product Not Found !", MsgBoxStyle.Exclamation, "Sorry !!")
                   txtprocode.Clear()
                   txtdes.Clear()
                   txtqu.Clear()
                   txtmoms.Clear()
                   txtPris.Clear()
                   txtrbt.Clear()
                   txttotalt.Clear()

                   txtprocode.Focus()

               End If
               drr.Close()



           Catch ex As Exception
               Exit Sub

           Finally
               con.Close()
           End Try

       End If

 Pro_Name : اسم المنتج
pro_Code : كود المنتج

مع العلم ترتيب الاعمدة بالجدول :
Pro_ID
Pro_Code
Pro_Name

txtdes : هو تكتست بوكس لاظهار اسم المنتج

أولاً : عدل هذا السطر :

كود :
                cmd = New OleDb.OleDbCommand("select Pro_Name from TBL_Products where Pro_Code = " & txtprocode.Text & " ", con)


ثانياً : هل الحقل Pro_Code رقمي او نصي ؟

اذا رقمي الكود سليم .

إذا نصي يجب تعديله كالتالي :


كود :
                cmd = New OleDb.OleDbCommand("select Pro_Name from TBL_Products where Pro_Code = '" & txtprocode.Text & "'" , con)
يا رحمن الدنيا والآخرة ورحيمهما
الرد }}}
تم الشكر بواسطة:
#3
pro_code رقمي
ونفس المشكلة ال else تتنفذ لكن
كود :
 txtdes.Text = drr(0)

لا تتفذ
الرد }}}
تم الشكر بواسطة:
#4
جرب هذا الكود إذا لم ينجح ضع مثالا مصغرا عن البرنامج أي فورم مختصر مع قاعدة البيانات .

PHP كود :
Dim StrSQL as string "select Pro_Name from TBL_Products where Pro_Code = " CInt(txtprocode.Text
 If 
Con.State ConnectionState.Closed Then Con.Open()
 
Dim da As New OleDbDataAdapter(StrSQLcon)
 
Dim dt As New DataTable
 da
.Fill(dt)
 If 
Con.State ConnectionState.Open Then Con.Close()
 
txtdes.Text dt.rows(0)("Pro_Name").ToString 
الرد }}}
تم الشكر بواسطة:
#5
مرحباً اخى الفاضل

فى البداية تعال على السطر التالى
كود :
Exit Sub

واستبدله بـ 
كود :
               MsgBox(ex.Message)

حتى تظهر معك رسالة الخطاء ووضعها هنا لتوضح معنا اين تقع المشكلة لديك

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة:
#6
لم تنجح Sad
الرد }}}
تم الشكر بواسطة:
#7
فقط قم باستبدال الكود كاملاً بهذا الكود
كود :
       If e.KeyCode = Keys.Enter Then
           'Get product info
           Dim StrSQL As String = "select Pro_Name from TBL_Products where Pro_Code = " & CInt(txtprocode.Text)
           Dim da As New OleDbDataAdapter(StrSQL, con)
           Dim dt As New DataTable
           da.Fill(dt)
           If dt.Rows.Count <> 0 Then
               txtdes.Text = dt.Rows(0)("Pro_Name").ToString
           Else
               MsgBox("This Product Not Found !", MsgBoxStyle.Exclamation, "Sorry !!")
               txtprocode.Clear()
               txtdes.Clear()
               txtqu.Clear()
               txtmoms.Clear()
               txtPris.Clear()
               txtrbt.Clear()
               txttotalt.Clear()

               txtprocode.Focus()
           End If
       End If

وسيتم حل مشكلة ظهور الرسالة بمجرد الكتابة

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة:
#8
شكرا لك اخي الكريم
الرد }}}
تم الشكر بواسطة: elgokr
#9
الشكر لله والحمد لله
والحمد لله على كل حال

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 249 11-02-24, 08:43 PM
آخر رد: assuhimi
Heart اقدم لكم هدية تصفح منتدى vb4arb.com بشكل أفضل من قبل مع ( vb4arb Code Highlighter ) عبدالله الدوسري 5 1,717 24-01-24, 10:31 PM
آخر رد: annagui
  [VB.NET] فتح فورم بعد تحقق الشرط h2551996 2 377 18-12-23, 10:56 PM
آخر رد: h2551996
Heart [C#.NET] حول بطئ عملية نقل البينات الكثيرة من أكسس إلى داتا غريد فيو بلال بلال 11 710 15-12-23, 07:47 AM
آخر رد: foad8920
  كيف يتم تعبئة قريد فيو بدون قاعدة بيانات بشكل مباشر؟ nowiglah 1 375 01-12-23, 10:57 PM
آخر رد: Taha Okla
  [VB.NET] ناتج عملية الطرح للأرقام الشعرية خطا عبدالله الصافي 3 362 27-09-23, 11:01 AM
آخر رد: قناص المدينة
Rainbow [كود] معرفه حجم كل المجلدات في القرص C بشكل واضح محمد مسافر 7 409 10-09-23, 01:56 AM
آخر رد: أبو خالد الشكري
  عملية حسابية خاصة محمد خيري 6 497 22-08-23, 09:09 AM
آخر رد: مصمم هاوي
  هل ممكن اجعل عناصر ال LISTBOX بشكل افقي ismaeel 0 380 01-05-23, 11:26 PM
آخر رد: ismaeel
Rainbow [كود] قراءه العدد بشكل صحيح من قاعده البيانات اكسس محمد مسافر 13 1,166 27-03-23, 10:48 PM
آخر رد: sanyor77

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


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