تقييم الموضوع :
  • 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
الشكر لله والحمد لله
والحمد لله على كل حال

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

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


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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Question [VB.NET] هناك سؤال يهم كل مبرمج الماذا برنامجك يظهر على بعض الشاشات اكثر دقه بشكل مصغر ومشوه Microformt 0 450 01-02-25, 03:48 PM
آخر رد: Microformt
  لايمكن الوصول للملف لأنه قيد الاستخدام بواسطة عملية أخرى صالح عبدالله 3 335 24-12-24, 12:17 AM
آخر رد: صالح عبدالله
  هذا الكود لا يعمل بشكل صحيح لماذا ؟ PeterGhattas082460 3 452 21-12-24, 02:55 PM
آخر رد: aljzazy
  ممكن طريقة عمل الصورة بشكل دائري بوحمد 3 488 14-10-24, 04:01 PM
آخر رد: بوحمد
  المساعدة في عملية طرح الوقت من خلال اثنين textbox جيولوجي مبتدئ 9 2,784 06-08-24, 07:43 PM
آخر رد: خالد كامل1
  هل يمكن جعل عناوين الهيدر بشكل عمودي مصمم هاوي 2 565 16-04-24, 03:59 AM
آخر رد: مصمم هاوي
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 810 11-02-24, 08:43 PM
آخر رد: assuhimi
Heart اقدم لكم هدية تصفح منتدى vb4arb.com بشكل أفضل من قبل مع ( vb4arb Code Highlighter ) عبدالله الدوسري 5 4,578 24-01-24, 10:31 PM
آخر رد: annagui
  [VB.NET] فتح فورم بعد تحقق الشرط h2551996 2 664 18-12-23, 10:56 PM
آخر رد: h2551996
Heart [C#.NET] حول بطئ عملية نقل البينات الكثيرة من أكسس إلى داتا غريد فيو بلال بلال 11 1,571 15-12-23, 07:47 AM
آخر رد: foad8920

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


يقوم بقرائة الموضوع: