تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كود لعدم تكرار اكثر من حقل معا في فيجوال
#1
Information 
قاعدة بيانات بها حقلين  رقم وسنة واريد عدم تكرار الحقلين معا عند ادخال البيانات في الفيجوال
تم عمل الحقلين مفتاح اساسي في قاعدة البيانات ولكن اريد كود في الفيجوال لعدم تكرار الحقلين معا
الرد }}}
تم الشكر بواسطة:
#2
(23-10-17, 01:47 AM)محمد المصري كتب : قاعدة بيانات بها حقلين  رقم وسنة واريد عدم تكرار الحقلين معا عند ادخال البيانات في الفيجوال
تم عمل الحقلين مفتاح اساسي في قاعدة البيانات ولكن اريد كود في الفيجوال لعدم تكرار الحقلين معا

المهم كله في جملة الاستعلام :


كود :
sql = "select fid,fyear from table1 where fid=@fid and fyear=@fyear"

لو موجود حيرجع بقيمة 1 ولو مش موجود يرجع 0
الرد }}}
تم الشكر بواسطة: محمد المصري
#3
(23-10-17, 01:47 AM)محمد المصري كتب : قاعدة بيانات بها حقلين  رقم وسنة واريد عدم تكرار الحقلين معا عند ادخال البيانات في الفيجوال
تم عمل الحقلين مفتاح اساسي في قاعدة البيانات ولكن اريد كود في الفيجوال لعدم تكرار الحقلين معا

كود :
Public Function UserEx(ByVal number As integer , ByVal year As integer) As Boolean
       Dim correct_version As Boolean = False
       Dim command As New SqlCommand("SELECT id FROM table WHERE number= @number and year=@year", SQL.conn)
command.Parameters.AddWithValue("@number", number)
command.Parameters.AddWithValue("@year", year)
       'فحص الاتصال بقاعدة البيانات
       If SQL.conn.State = ConnectionState.Open Then
           SQL.conn.Close()
       End If
       SQL.conn.Open()
       Using reader As SqlDataReader = command.ExecuteReader
           While reader.Read
               If IsDBNull(reader("id")) Then
                   correct_version = False
               Else
                   correct_version = True
               End If
           End While
       End Using

       SQL.conn.Close()
       Return correct_version
   End Function

و قم باستخذان الكود الاتي للتاكد اذا موجود او لا 


كود :
If UserEx(number.Text, year.text) = True Then
msgbox("yes")
else
msgbox("NO")
           End If
الرد }}}
تم الشكر بواسطة: محمد المصري
#4
[quote pid='107951' dateline='1508710852']

المهم كله في جملة الاستعلام :


كود :
sql = "select fid,fyear from table1 where fid=@fid and fyear=@fyear"

لو موجود حيرجع بقيمة 1 ولو مش موجود يرجع 0
[/quote]
شكرا لحضرتك بس دي جملة استعلام انا عايزها تكون جملة شرط قبل تنفيذ كود الحفظ لو حقلين تم ادخالهم من قبل يظهر رسالة انا معايا كود حقل واحد

(23-10-17, 04:39 PM)Rabeea Qbaha كتب :
(23-10-17, 01:47 AM)محمد المصري كتب : قاعدة بيانات بها حقلين  رقم وسنة واريد عدم تكرار الحقلين معا عند ادخال البيانات في الفيجوال
تم عمل الحقلين مفتاح اساسي في قاعدة البيانات ولكن اريد كود في الفيجوال لعدم تكرار الحقلين معا

كود :
Public Function UserEx(ByVal number As integer , ByVal year As integer) As Boolean
       Dim correct_version As Boolean = False
       Dim command As New SqlCommand("SELECT id FROM table WHERE number= @number ", SQL.conn)
command.Parameters.AddWithValue("@number", number)
command.Parameters.AddWithValue("@year", year)
       'فحص الاتصال بقاعدة البيانات
       If SQL.conn.State = ConnectionState.Open Then
           SQL.conn.Close()
       End If
       SQL.conn.Open()
       Using reader As SqlDataReader = command.ExecuteReader
           While reader.Read
               If IsDBNull(reader("id")) Then
                   correct_version = False
               Else
                   correct_version = True
               End If
           End While
       End Using

       SQL.conn.Close()
       Return correct_version
   End Function

و قم باستخذان الكود الاتي للتاكد اذا موجود او لا 


كود :
If UserEx(number.Text, year.text) = True Then
msgbox("yes")
else
msgbox("NO")
           End If
شكرا لحضرتك جاي التنفيذ لكن معذرة استفسار بسيط ممكن كتابة الكود بطريقة أخرى بدون استخدام الدالة
الرد }}}
تم الشكر بواسطة:
#5
(23-10-17, 04:40 PM)محمد المصري كتب : [quote pid='107951' dateline='1508710852']

المهم كله في جملة الاستعلام :


كود :
sql = "select fid,fyear from table1 where fid=@fid and fyear=@fyear"

لو موجود حيرجع بقيمة 1 ولو مش موجود يرجع 0
شكرا لحضرتك بس دي جملة استعلام انا عايزها تكون جملة شرط قبل تنفيذ كود الحفظ لو حقلين تم ادخالهم من قبل يظهر رسالة انا معايا كود حقل واحد

(23-10-17, 04:39 PM)Rabeea Qbaha كتب :
(23-10-17, 01:47 AM)محمد المصري كتب : قاعدة بيانات بها حقلين  رقم وسنة واريد عدم تكرار الحقلين معا عند ادخال البيانات في الفيجوال
تم عمل الحقلين مفتاح اساسي في قاعدة البيانات ولكن اريد كود في الفيجوال لعدم تكرار الحقلين معا

كود :
Public Function UserEx(ByVal number As integer , ByVal year As integer) As Boolean
       Dim correct_version As Boolean = False
       Dim command As New SqlCommand("SELECT id FROM table WHERE number= @number ", SQL.conn)
command.Parameters.AddWithValue("@number", number)
command.Parameters.AddWithValue("@year", year)
       'فحص الاتصال بقاعدة البيانات
       If SQL.conn.State = ConnectionState.Open Then
           SQL.conn.Close()
       End If
       SQL.conn.Open()
       Using reader As SqlDataReader = command.ExecuteReader
           While reader.Read
               If IsDBNull(reader("id")) Then
                   correct_version = False
               Else
                   correct_version = True
               End If
           End While
       End Using

       SQL.conn.Close()
       Return correct_version
   End Function

و قم باستخذان الكود الاتي للتاكد اذا موجود او لا 


كود :
If UserEx(number.Text, year.text) = True Then
msgbox("yes")
else
msgbox("NO")
           End If
شكرا لحضرتك جاي التنفيذ لكن معذرة استفسار بسيط ممكن كتابة الكود بطريقة أخرى بدون استخدام الدالة
[/quote]

صديقي هي الداله التي تريحك من عبئ اعاده كتابه الكود في كل مره 
اذا مواجه صعوبه في فهمها سابسطها لك 
الاشياء الواجب تغيرها هي :
إقتباس :"SELECT id FROM table WHERE number= @number and year=@year", SQL.conn

id : المفتاح الاساسي
number : اسم العمود الذي يحتوي على الرقم 
year : اسم العمود الذي يحتوي على السنة


فقط هذه الاشياء يجب تغيرها في الكود الاول في جمله الاستعلام 

وأيضا في الباراميتر 
إقتباس :command.Parameters.AddWithValue("@number", number)
command.Parameters.AddWithValue("@year", year)
قم بتغير number و year 
باسماء الاعمده 


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

وأنا مع ما قال أخي ربيع Rabeea (صديقي هي الداله التي تريحك من عبئ اعاده كتابه الكود في كل مره)
الرد }}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تقسيم الفانورة الي اكثر من ورقة عبدالكريم برشدان 0 46 14-04-24, 12:00 AM
آخر رد: عبدالكريم برشدان
  مشكلة عند نقل البرنامج من فيجوال 2013 الى فيجوال 2017 strongriseman 5 156 12-03-24, 10:37 AM
آخر رد: strongriseman
  معرفة عدد مرات تكرار الاسم في الداتاقريدفيو صالح عبدالله 8 443 05-02-24, 04:39 PM
آخر رد: صالح عبدالله
  [VB.NET] منع تكرار البيانات في عند الادخال مبرمج صغير 1 2 270 24-01-24, 05:18 PM
آخر رد: مبرمج صغير 1
  [سؤال] كود اظهار رساله في حال وجود الرقم في اكثر من عمود مبرمج صغير 1 6 406 09-01-24, 01:41 AM
آخر رد: Taha Okla
  الالوان في فيجوال بيسك atefkhalf2004 2 423 05-01-24, 04:38 PM
آخر رد: atefkhalf2004
  كيفية جعل من كتاب فيه هوامش ونص (قاعدة بيانات وواجهة فيجوال مثل الشاملة) ابو امجد 1 1,613 10-12-23, 12:53 PM
آخر رد: محمد بن عطية
  طريقة إسناد اكثر من جدول للكريستال ريبورت Adel27213 2 361 25-11-23, 11:51 PM
آخر رد: Adel27213
  [VB.NET] حذف اكثر من سطر محدد في جرد فيو h2551996 3 445 25-11-23, 12:30 PM
آخر رد: h2551996
Photo مشكلة مفاجئة كريستال مع فيجوال 2015 atefkhalf2004 2 369 04-11-23, 12:04 PM
آخر رد: atefkhalf2004

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


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