You are on page 1of 13

‫ربط البرنامج بقاعدة البيانات‪:‬‬

‫لقراءة أو كتابة بيانات على قاعدة بيانات ما البد في البداية من إنشاء االتصال بقواعد البيانات‪،‬‬
‫وهو ما يتم من خالل كائن االتصال‪Connection‬‬
‫و بناء على اختيارك لمزود البيانات سوف تقوم باستخدام كائن االتصال الخاص بذلك المزود‪.‬‬
‫تدريب عملي‪:‬‬

‫شغل برنامج ‪ MS Access‬وكون قاعدة بيانات تحت اسم ‪ STD‬ثم كون بداخلها جدول بيانات بالحقول التالية‬

‫‪stno‬‬ ‫‪Number‬‬

‫‪stname‬‬ ‫‪Text‬‬

‫‪grade‬‬ ‫‪Number‬‬

‫ادخل بعض السجالت بالجدول‬

‫?‪How do I add a data source in Visual Studio‬‬


‫من قائمة ‪ project‬نختار ‪Add New Item‬‬
‫أو من قائمة ‪Data‬‬
‫عرض البيانات ‪:‬‬
‫ مع االعدادات التالية‬std ‫في كل األمثلة الالحقة سوف نشتغل على قاعدة البيانات‬

DataSet name = StdDataSet

Table name = stdtable

: ‫زر عرض البيانات في جدول‬


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
DGV.Visible = True
End Sub

: ‫زر عرض البيانات في مربع نص‬


Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button6.Click

Dim drFound As DataRow

drFound = StdDataSet.stdtable.Rows(0) ' text1.text


TextBox2.Text = drFound.Item("stname") ' Or drFound.Item(1)

End Sub

: ‫التنقل بين السجالت‬


Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button6.Click

Dim pos As Integer = Me.BindingContext(StdDataSet, "stdtable").Position()

Dim drFound As DataRow


drFound = StdDataSet.stdtable.Rows(pos)

TextBox2.Text = drFound.Item("stname") ' Or drFound.Item(1)

Me.BindingContext(StdDataSet, "stdtable").Position() += 1
End Sub
Me.BindingContext(StdDataSet, "stdtable").Position() =
Me.BindingContext(StdDataSet,"stdtable").count-1

First ? Previous ?

: ‫البحث عن سجل معين بداللة المفتاح الرئيسي‬


Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button7.Click
Dim drFound As DataRow
drFound = StdDataSet.stdtable.Rows.Find(TextBox1.Text)

TextBox2.Text = drFound.Item("stname")
TextBox3.Text = drFound.Item("grade")
End Sub

: ‫التحقق من ان السجل موجود أم ال‬


Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button8.Click
Dim foundRow As DataRow
Dim SearchValue As String
SearchValue = InputBox("Enter stno")
foundRow = StdDataSet.stdtable.Rows.Find(SearchValue)
If Not (foundRow Is Nothing) Then
TextBox1.Text = foundRow.Item("stname")
TextBox2.Text = foundRow.Item("grade")
Else
MsgBox("Record not exist")
End If
End Sub
:‫البحث بداللة حقل اخر غير المفتاح الرئيسي للجدول‬
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Dim str As String
'Dim SearchRow() As DataRow =
StdDataSet.Tables("stdtable").Select("stname='Emad'")
str = "Stname='" & Trim(TextBox1.Text) & "'"
Dim SearchRow() As DataRow = StdDataSet.Tables("stdtable").Select(str)

'TextBox2.Text = SearchRow(0).Item(2) ' Get the first matched result


TextBox2.Text = SearchRow(0).Item("grade")
End Sub

: ‫اضافة سجل للجدول‬


Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Dim dtstudent As DataTable = StdDataSet.Tables(0)
Dim dr As DataRow = dtstudent.NewRow()

dr("stno") = 8
dr("stname") = "Anis"
dr("grade") = 99
dtstudent.Rows.Add(dr) ' Add fields to the table
'MessageBox.Show(StdDataSet.Tables(0).Rows.Count)
MessageBox.Show(StdDataSet.Tables("stdtable").Rows.Count)

End Sub

: DataSet ‫تحديث بيانات االداة‬


StdtableTableAdapter.Update(StdDataSet)
: ‫اجراء تحديث لبيانات حقل ما لجميع سجالت الجدول‬
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button4.Click
Dim dtstudent As DataTable = StdDataSet.Tables(0)
Dim dr As DataRow
For Each dr In dtstudent.Rows
dr("grade") += 5
Next
End Sub
=================================================================================

You might also like