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

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

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

كود :
Dim dbConn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Application.StartupPath & "\DataFile.mdb")
        Dim SQLStr As String = "Select Field from Table"
        Conn.Open()
        Dim cmd As New OleDb.OleDbCommand(SQLStr, Conn)
        dr = cmd.ExecuteReader
        Try
            If dr.Read = True Then
                MsgBox("The Barcode is Exist >>")
            End If
            Conn.Close()
        Catch ex As Exception
            Conn.Close()
            MsgBox(ex.Message, MsgBoxStyle.Critical, " Error")
        End Try

طبعاً قاعدة البيانات هنا من نوع Access
{ اللهم علمنا ما ينفعنا وانفعنا بما علمتنا إنك أنت العليم الخبير }
الرد }}}}
تم الشكر بواسطة:
#4
السلام عليكم و رحمة الله و بركاته,
أخي الكريم, إجعل حقل (رقم الباركود) في قاعدة البيانات (Unique) و ذلك بجعل الحقل (Indexed) و بهذا فإن قاعدة البيانات ستمنع أي رقم مكرر مدخل في حقل الباركود.

تحياتي.
الرد }}}}
تم الشكر بواسطة:
#5
شكرا الكم شباب ونورتونه بمشاركتكم ونصيحتكم الله يزيدكم
الرد }}}}
تم الشكر بواسطة:
#6
حفظ السجل بدون تكرار .. من تجربتي
Sub SaveRecords()

Dim SaveMyCmd As New OleDbCommand
SaveMyCmd.Connection = Con
Con.Open()
SaveMyCmd.CommandText = "select * from Students where Stud_Num= " & TxtNum.Text & ""
Dim reader As OleDbDataReader = SaveMyCmd.ExecuteReader
If reader.Read Then
MsgBox(" البيانات موجودة مسبقا؟؟", MsgBoxStyle.Critical, "تنبيه")
reader.Close()

Exit Sub
Else
reader.Close()
End If
With SaveMyCmd
.Connection = Con
.CommandType = CommandType.Text
.CommandText = "insert into Students (Stud_Name,Stud_Num,Stud_Nat,Stud_Age,Stud_Phone,Stud_Mobile,Stud_Address,Stud_Notes) values(?,?,?,?,?,?,?,?)"
.Parameters.Clear()
.Parameters.AddWithValue("@Stud_Name", OleDbType.VarChar).Value = TxtName.Text.Trim
.Parameters.AddWithValue("@Stud_Num", OleDbType.Integer).Value = TxtNum.Text.Trim
.Parameters.AddWithValue("@Stud_Nat", OleDbType.VarChar).Value = TxtNat.Text.Trim
.Parameters.AddWithValue("@Stud_Age", OleDbType.Integer).Value = TxtAge.Text.Trim
.Parameters.AddWithValue("@Stud_Phone", OleDbType.VarChar).Value = TxtTel.Text.Trim
.Parameters.AddWithValue("@Stud_Mobile", OleDbType.VarChar).Value = TxtMobile.Text.Trim
.Parameters.AddWithValue("@Stud_Address", OleDbType.VarChar).Value = TxtAddress.Text.Trim
.Parameters.AddWithValue("@Stud_Notes", OleDbType.VarChar).Value = TxtNotes.Text.Trim

End With
SaveMyCmd.ExecuteNonQuery()
Con.Close()
FrmTree1List2Grid3_Load(Nothing, Nothing)


MsgBox(" تم حفظ البيانات بنجاح ", MsgBoxStyle.Information)

End Su
الرد }}}}
تم الشكر بواسطة:
#7
يرجى نسخ الكود وتغيير اتجاهه ويتضح ...
طبعا مع تغيير الحقول ..مفيدوشغال انا عليه .
الرد }}}}
تم الشكر بواسطة:
#8
لتجنب تكرار قيمة حتى لو ان قاعدة البيانات لن تسمح بالتكرار فإنك تريد عمل تحقق من المدخلات أليس كذلك ؟

الحالة الأولى :عندما تريد إنشاء سجل جديد

تنفذ هذه الجملة لتحصل على عدد السجلات التي فيها القيمة المميزة

Select Count(*) Where [UniqueField]=@UniqueValue


عندما تنفذ ExecuteScalar ستعود هذه الدالة بقيمة عددية فيها عدد الصفوف الي تحتوي على هذه القيمة

إذا كانت القيمة أكبر من صفر (يعني واحد وفوق) يعني القيمة ستكون مكررة وبالتالي لاتسمج بعملية إنشاء سجل بهذه القيمة


الحالة الثانية: عندما تريد تغيير القيمة لسجل موجود مسبقاً

في هذه الحالة يجب أن يكون لديك PrimaryKey ثابت لايتغير يفضل AutoNumber

ستكون الجملة كالتالي


Select Count(*) Where [UniqueField]=@UniqueValue And [ID]<>@IDValue


ثم تتابع كما في الحالة الأولى
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ممكن شرح هذه المفاهيم ابراهيم كركوكي 2 96 22-09-16, 01:00 PM
آخر رد: ابراهيم كركوكي
Lightbulb [SQL] لو سمحتم ممكن فكرة عمل جرد الاصناف #A-H.c 1 141 13-03-16, 11:44 AM
آخر رد: khodor1985
  [سؤال] ممكن كود ادخال قيمة الجيك بوكس الى قاعدةبيانات sql عمار عيثاوي 0 149 30-01-16, 01:15 PM
آخر رد: عمار عيثاوي
  كود عدم تكرار البيانات بالداتا جريد فيو ِAbou Sama 3 753 29-12-15, 09:09 PM
آخر رد: العواد الصغير
  تكرار البيانات داخل قاعدة البيانات اثناء الحفظ Medo555 1 406 23-12-15, 04:08 AM
آخر رد: Adrees
  [سؤال] هل ممكن اضافة ملف اكسل الى الفيجوال دوت نت 2010 محمد مسافر 2 1,617 25-10-15, 10:46 AM
آخر رد: WAEL ABED
  ممكن شرح الوراثة وكيفية استخدامها مع قواعد البيانات محاسب يوسف 2 969 11-03-15, 09:54 AM
آخر رد: محاسب يوسف
  ممكن مساعدة عمار عيثاوي 1 303 22-01-15, 09:19 PM
آخر رد: aftfm
  [كود] ممكن كود إعادة ترقيم عمود بعد حذف صف من داتاجريد فيو benomar 6 1,164 20-12-14, 10:27 PM
آخر رد: benomar
  ممكن حل للاستعلام هذا محاسب يوسف 3 361 09-09-14, 10:20 AM
آخر رد: محاسب يوسف

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


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