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


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

بحيث ان استخدم فيجوال ستيديو

وعندي قاعدة بيانات من نوع اكسس

اسم القاعدة students

والجدول s1

وعندي حقل من حقول الجدول اسمة id_number


حابه اذا شغلت برنامج وادخل قيمة في text box

و تكرر الرقم مايحفظها

بحيث تظهر لي message box

ان الرقم مكرر في قاعدة البياناتHeart
الرد }}}
تم الشكر بواسطة:
#2
مثال بسيط
مربع نص textbox1
زر امر button1
شبيكة بيانات datagridview باسم dgv1

وهذا الكلاس
كود :
Imports System.Data.OleDb

Public Class Form1
    Dim str As String = "provider=microsoft.ace.oledb.12.0;data source=|datadirectory|\students.accdb"
    Dim con As New OleDbConnection(str)
    Dim ds As New DataSet
    Private Sub dgds(ByVal d As DataSet)
        If dgv1.InvokeRequired Then
            dgv1.Invoke(New Action(Of DataSet)(AddressOf dgds), d)
        Else
            dgv1.DataSource = d

        End If
    End Sub
    Private Sub dgv(ByVal d As String)
        If dgv1.InvokeRequired Then
            dgv1.Invoke(New Action(Of String)(AddressOf dgv), d)
        Else
            dgv1.DataMember = d

        End If
    End Sub

    Private Sub gd()
        dgds(Nothing)
        dgv(Nothing)
        ds.Clear()
        Dim da As New OleDbDataAdapter("select id_number from s1", con)
        da.Fill(ds, "s1")
        dgds(ds)
        dgv("s1")

    End Sub
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        begin()
    End Sub

    Private Sub begin()
        Dim ath As New Threading.Thread(AddressOf gd)
        If ath.IsAlive = False Then
            ath.Start()
        End If
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        If isfound(TextBox1.Text) Then
            MsgBox("الرقم محجوز", MsgBoxStyle.Critical, "")
            Exit Sub
        End If

        If addnew(TextBox1.Text) Then
            MsgBox("تم الحفظ", MsgBoxStyle.Information, "")
        Else
            MsgBox("لم يتم الحفظ لوجود خطا", MsgBoxStyle.Critical, "")

        End If


    End Sub


    Private Function isfound(ByVal txt As String) As Boolean
        Dim cm As New OleDbCommand("select count(tid) from s1 where id_number=@id_number", con)

        cm.Parameters.AddWithValue("@id_number", txt)
        If con.State = ConnectionState.Closed Then
            con.Open()
        End If
        If cm.ExecuteScalar > 0 Then
            Return True
        Else
            Return False
        End If

    End Function


    Private Function addnew(ByVal txt As String) As Boolean
        

        Dim cm As New OleDbCommand("insert into s1(id_number) values(@id_number)", con)
        cm.Parameters.AddWithValue("@id_number", txt)
        If con.State = ConnectionState.Closed Then
            con.Open()
        End If
        Try
            cm.ExecuteNonQuery()
            begin()
            Return True
        Catch ex As Exception
            Return False
        End Try

    End Function





End Class
الرد }}}
تم الشكر بواسطة: waelalmsry75
#3
(07-05-14, 04:48 PM)سعود كتب : مثال بسيط
مربع نص textbox1
زر امر button1
شبيكة بيانات datagridview باسم dgv1

وهذا الكلاس
كود :
Imports System.Data.OleDb

Public Class Form1
    Dim str As String = "provider=microsoft.ace.oledb.12.0;data source=|datadirectory|\students.accdb"
    Dim con As New OleDbConnection(str)
    Dim ds As New DataSet
    Private Sub dgds(ByVal d As DataSet)
        If dgv1.InvokeRequired Then
            dgv1.Invoke(New Action(Of DataSet)(AddressOf dgds), d)
        Else
            dgv1.DataSource = d

        End If
    End Sub
    Private Sub dgv(ByVal d As String)
        If dgv1.InvokeRequired Then
            dgv1.Invoke(New Action(Of String)(AddressOf dgv), d)
        Else
            dgv1.DataMember = d

        End If
    End Sub

    Private Sub gd()
        dgds(Nothing)
        dgv(Nothing)
        ds.Clear()
        Dim da As New OleDbDataAdapter("select id_number from s1", con)
        da.Fill(ds, "s1")
        dgds(ds)
        dgv("s1")

    End Sub
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        begin()
    End Sub

    Private Sub begin()
        Dim ath As New Threading.Thread(AddressOf gd)
        If ath.IsAlive = False Then
            ath.Start()
        End If
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        If isfound(TextBox1.Text) Then
            MsgBox("الرقم محجوز", MsgBoxStyle.Critical, "")
            Exit Sub
        End If

        If addnew(TextBox1.Text) Then
            MsgBox("تم الحفظ", MsgBoxStyle.Information, "")
        Else
            MsgBox("لم يتم الحفظ لوجود خطا", MsgBoxStyle.Critical, "")

        End If


    End Sub


    Private Function isfound(ByVal txt As String) As Boolean
        Dim cm As New OleDbCommand("select count(tid) from s1 where id_number=@id_number", con)

        cm.Parameters.AddWithValue("@id_number", txt)
        If con.State = ConnectionState.Closed Then
            con.Open()
        End If
        If cm.ExecuteScalar > 0 Then
            Return True
        Else
            Return False
        End If

    End Function


    Private Function addnew(ByVal txt As String) As Boolean
        

        Dim cm As New OleDbCommand("insert into s1(id_number) values(@id_number)", con)
        cm.Parameters.AddWithValue("@id_number", txt)
        If con.State = ConnectionState.Closed Then
            con.Open()
        End If
        Try
            cm.ExecuteNonQuery()
            begin()
            Return True
        Catch ex As Exception
            Return False
        End Try

    End Function





End Class








ماضبط معي ممكن ارسل لك المشروع تعدل لي عليه ؟؟؟
الرد }}}
تم الشكر بواسطة:
#4
إقتباس :ممكن ارسل لك المشروع تعدل لي عليه ؟؟؟
لاترسل المشروع لكن سو مثال بسيط وارسله.
الرد }}}
تم الشكر بواسطة:
#5
ابي اذا دخلت

سجل مدني موجود في قاعدة البيانات

وضغطت تسجيل

مايسجل تظهر لي bessage box



http://im90.gulfup.com/Inl07l.png
الرد }}}
تم الشكر بواسطة:
#6
هذا اللي نتحدث عنه وموجود بالكود اللي كتبت لك
الرد }}}
تم الشكر بواسطة:
#7
طيب اذا كان التكرار موجود text box 2

اللي هو السجل ايش نعدل في الكود ؟؟؟


و هل ينحفظ في قاعدة البيانات ؟؟
الرد }}}
تم الشكر بواسطة:
#8
الدالة فائدتها انك ترسل لها اي قيمة زي كذا
كود :
If isfound(TextBox1.Text) Then
            MsgBox("محجوز", MsgBoxStyle.Critical, "")
            Exit Sub
        End If


If isfound(TextBox2.Text) Then
            MsgBox("محجوز", MsgBoxStyle.Critical, "")
            Exit Sub
        End If

If isfound(TextBox3.Text) Then
            MsgBox("محجوز", MsgBoxStyle.Critical, "")
            Exit Sub
        End If

وهكذا
الرد }}}
تم الشكر بواسطة: waelalmsry75
#9
مشششششششششششكوووووووووووووووووور


ماقصرت Heart
الرد }}}
تم الشكر بواسطة:
#10
العفو
واي سؤال اسال
الرد }}}
تم الشكر بواسطة: waelalmsry75


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] عدم إظهار الصور مع النص فى Listview من قاعدة البيانات alims 2 1,582 27-08-23, 12:22 PM
آخر رد: رضوان الجماعي
  [نقاش] مشاركة قاعدة بيانات SQL على شبكه داخليه morkoskhalaf 3 3,010 06-01-23, 03:20 AM
آخر رد: عبدالكريم برشدان
  قاعدة بيانات xml djelloul 3 2,799 07-11-22, 10:27 PM
آخر رد: Am7
  استفسار عن تخزين الوقت في قاعدة البيانات strongriseman 2 1,128 22-04-22, 07:27 PM
آخر رد: strongriseman
  [سؤال] مشكلة فى عرض الصورة من ادخل قاعدة البيانات alims 2 1,266 17-11-21, 10:09 AM
آخر رد: سعود
  استعلام يرجع اسماء الاعمدة و نوع البيانات في جدول معين بسام محمدغانم 0 964 23-10-21, 01:43 AM
آخر رد: بسام محمدغانم
  مشكلة ظهور بياانات حقلين في قاعدة بيانات على شكل علامة استفهام bassant 5 1,632 17-10-21, 02:07 PM
آخر رد: abubasilIraq
  تحويل multiline text الى single line في عمود في قاعدة بيانات sql server bassant 0 958 07-09-21, 04:36 PM
آخر رد: bassant
  الحفظ فى قاعدة البيانات اسلام الكبابى 10 2,351 06-09-21, 06:52 PM
آخر رد: اسلام الكبابى
  [Acces2010] عمل قاعدة بيانات لنظام غيابات الطلبة hassan karim 1 1,919 31-08-21, 04:47 AM
آخر رد: a7med saba

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


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