المشاركات : 14
المواضيع 4
الإنتساب : May 2014
السمعة :
0
الشكر: 0
تم شكره 1 مرات في 1 مشاركات
07-05-14, 03:04 PM
السلام عليكم ورحمة الله وبركاته
حابه استفسر عن كود منع التكرار في قاعدة البيانات
بحيث ان استخدم فيجوال ستيديو
وعندي قاعدة بيانات من نوع اكسس
اسم القاعدة students
والجدول s1
وعندي حقل من حقول الجدول اسمة id_number
حابه اذا شغلت برنامج وادخل قيمة في text box
و تكرر الرقم مايحفظها
بحيث تظهر لي message box
ان الرقم مكرر في قاعدة البيانات
المشاركات : 7,397
المواضيع 802
الإنتساب : Sep 2013
السمعة :
853
الشكر: 13167
تم شكره 18826 مرات في 4421 مشاركات
مثال بسيط
مربع نص 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
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
المشاركات : 14
المواضيع 4
الإنتساب : May 2014
السمعة :
0
الشكر: 0
تم شكره 1 مرات في 1 مشاركات
(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
ماضبط معي ممكن ارسل لك المشروع تعدل لي عليه ؟؟؟
المشاركات : 7,397
المواضيع 802
الإنتساب : Sep 2013
السمعة :
853
الشكر: 13167
تم شكره 18826 مرات في 4421 مشاركات
إقتباس :ممكن ارسل لك المشروع تعدل لي عليه ؟؟؟
لاترسل المشروع لكن سو مثال بسيط وارسله.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
المشاركات : 14
المواضيع 4
الإنتساب : May 2014
السمعة :
0
الشكر: 0
تم شكره 1 مرات في 1 مشاركات
ابي اذا دخلت
سجل مدني موجود في قاعدة البيانات
وضغطت تسجيل
مايسجل تظهر لي bessage box
http://im90.gulfup.com/Inl07l.png
المشاركات : 7,397
المواضيع 802
الإنتساب : Sep 2013
السمعة :
853
الشكر: 13167
تم شكره 18826 مرات في 4421 مشاركات
هذا اللي نتحدث عنه وموجود بالكود اللي كتبت لك
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
المشاركات : 14
المواضيع 4
الإنتساب : May 2014
السمعة :
0
الشكر: 0
تم شكره 1 مرات في 1 مشاركات
طيب اذا كان التكرار موجود text box 2
اللي هو السجل ايش نعدل في الكود ؟؟؟
و هل ينحفظ في قاعدة البيانات ؟؟
المشاركات : 7,397
المواضيع 802
الإنتساب : Sep 2013
السمعة :
853
الشكر: 13167
تم شكره 18826 مرات في 4421 مشاركات
الدالة فائدتها انك ترسل لها اي قيمة زي كذا
كود :
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
وهكذا
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
المشاركات : 14
المواضيع 4
الإنتساب : May 2014
السمعة :
0
الشكر: 0
تم شكره 1 مرات في 1 مشاركات
مشششششششششششكوووووووووووووووووور
ماقصرت
المشاركات : 7,397
المواضيع 802
الإنتساب : Sep 2013
السمعة :
853
الشكر: 13167
تم شكره 18826 مرات في 4421 مشاركات
العفو
واي سؤال اسال
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
|