الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كود للتحقق من عدم تكرار البيانات في القاعدة

بدأه سامي الديب في 26 مارس 2011 · 6 رد · 2,043 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ارجو المساعدة

أريد كود للتححق من عدم تكرار البيانات في 4 حقول مع بيانات مدخلة سابقا

استطعت عمل التحقق من حقل واحد ولكني لم اعرف كيف اجعله لاكتر من حقل

وهذا الكود للتعديل

        If Not check() Then
            Exit Sub
        End If
        Select Case (test)
            Case 1
                                                           CreateConn()
                Dim SQLString As String = "SELECT * FROM main WHERE MOB='" & Me.mob.Text & "'"
                Dim objCommand As OleDbCommand = New OleDbCommand(SQLString, getConn())
                OpenConn()
                Dim objDataReader As OleDbDataReader
                Try
                    objDataReader = objCommand.ExecuteReader()
                    If objDataReader.HasRows Then
                        has_row = 1
                    Else
                        has_row = 2
                    End If
                    objDataReader.Close()
                Catch OleDbExceptionErr As OleDbException
                    MessageBox.Show(OleDbExceptionErr.Message, "eeee Access SQL")
                End Try
                objCommand.Dispose()
                objCommand = Nothing
                objDataReader = Nothing
                CloseConn()
                               If has_row = 2 Then 
If MsgBox(" هل تريد حفظ السجل الحالي ؟ ", MsgBoxStyle.OkCancel, "تأكيد الحفظ") = MsgBoxResult.Cancel Then
                        Exit Sub
                    End If
                    Try
                        Dim SavInto As New OleDb.OleDbCommand
                        CreateConn()
                        SavInto.Connection = getConn()
                        SavInto.CommandType = CommandType.Text
                        SavInto.CommandText = "INSERT INTO main(sr,name,tel,mob,mob1,email,gover,rigon,part,str,sst,home,vip,zk_date,sex)" & _
                        "values ('" & Me.Txt_id.Text & "','" & Me.Txt_nam.Text & "','" & Me.tel.Text & "','" & Me.mob.Text & "' " & _
                        ",'" & Me.mob1.Text & "','" & Me.mail.Text & "','" & Me.gover.SelectedValue.ToString & "','" & Me.rgon.SelectedValue.ToString & "' " & _
                        ",'" & Me.part.Text & "','" & Me.street.Text & "','" & Me.s_street.Text & "','" & Me.txt_home.Text & "', '" & Me.vip.SelectedValue.ToString & "','" & Me.MaskedTextBox1.Text & "','" & Me.Comb_sex.SelectedValue.ToString & "') "
                        OpenConn()
                        If SavInto.ExecuteNonQuery() Then
                            SavInto.Dispose()
                            SavInto = Nothing
                            CloseConn()
                            ts.Text = "تمت الإضافة بنجاح"
 fill_ds()
                            NavigateRecords()
                            MyCurrencyManager.Position = MyCurrencyManager.Count - 1
                            record_count()
                            btn_enable(True)
                        Else
                            MsgBox("فشلت عملية الإضافة", MsgBoxStyle.MsgBoxRight, "رسالة خطأ")
End If
                    Catch ex As Exception
                        MsgBox(ex.Message)
                    End Try
                Else
                    MsgBox("البيانات المدخلة مكررة ... من فضلك تأكد من البيانات ", MsgBoxStyle.Critical, "خطـــأ")
End If
            Case 2
                If MsgBox(" هل تريد حفظ التعديل على البيان الحالي ؟ ", MsgBoxStyle.OkCancel, "تأكيد الحفظ") = MsgBoxResult.Cancel Then
                    Exit Sub
                End If
                Try
                                       Dim intPosition As Integer = MyCurrencyManager.Position ' 
                    Dim SavInto As New OleDb.OleDbCommand
                    CreateConn()
                    SavInto.Connection = getConn()
                    SavInto.CommandType = CommandType.Text
                    SavInto.CommandText = "update main set " & _
                    "name='" & Me.Txt_nam.Text & "'," & _
                    "tel='" & Me.tel.Text & "'," & _
                    "mob='" & Me.mob.Text & "'," & _
                    "mob1='" & Me.mob1.Text & "'," & _
                    "email='" & Me.mail.Text & "'," & _
                    "gover='" & Me.gover.SelectedItem.ToString & "'," & _
                    "rigon='" & Me.rgon.SelectedItem.ToString & "'," & _
                    "part= '" & Me.part.Text & "'," & _
                    "str='" & Me.street.Text & "'," & _
                    "sst=" & Me.s_street.Text & "'," & _
                    "home=" & Me.txt_home.Text & "'," & _
                    "vip='" & Me.vip.SelectedItem.ToString & "'," & _
                    "zk_date=" & Me.MaskedTextBox1.Text & "'," & _
                    "SEX='" & Me.Comb_sex.SelectedItem.ToString & "'," & "' where sr = " & CType(Me.Txt_id.Text, Integer)
                    OpenConn()
                    If SavInto.ExecuteNonQuery() Then
                                            SavInto.Dispose()
                        SavInto = Nothing
                        CloseConn()
                        ts.Text = "تم التعديل بنجاح"
                        fill_ds()
                        NavigateRecords()
                        MyCurrencyManager.Position = intPosition
                        record_count()
                                             btn_enable(True)
                    Else
 MsgBox("فشلت عملية التعديل", MsgBoxStyle.MsgBoxRight, "رسالة خطأ")
 End If
                Catch ex As Exception
                    MsgBox(ex.Message)
                End Try
        End Select
        Me.btn_add.TabIndex.ToString()
    End Sub

وجزاكم الله خيرا

#2

السلام عليكم ورحمه الله وبركاته

يمكنك اخي عمل هذا بدون اي كود برمجي؟؟ يعني تغيير جمله ال SQL

SELECT DISTINCT col1,col2,col3,col4 FROm tbl

هذه الجمله كافيه لفحص البيانات المرجعه انها لا تتشابه في الحقول الاربعه المذكوره

.:: Wish to become better and better ::.

#3

السلام عليكم ورحمه الله وبركاته

انا غيرت جملة sql ولكن الان لايقبل أي جديد ويعتبره مدخل مكر

ممكنتوضيح كتر على الكود نفسه

وجزاكم الله خيرا

#4

السلام عليكم ورحمه الله وبركاته

اخي سوي ال Distinct على الحقول التي تريد التأكد أنها تطابقت .. مش كل الحقول

.:: Wish to become better and better ::.

#5

طيب يا أخي ممكن توضيح على الكود وجزاك الله خيرا

#6

السلام عليكم ورحمه الله وبركاته

طيب ممكن تذكر اسامي الحقول الي تريد قيمها ما تتكرر؟

.:: Wish to become better and better ::.

#7

السلام عليكم ورحمة اله وبركاته

الحقول هي

name,tel,mob,mob1

وجزاك الله خيراً كثيرا

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…