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

سؤال في الفيجول بيسك

مغلق
بدأه ميســــــم في 8 أكتوبر 2004 · 22 رد · 1,918 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

المطلوب :

1 / إنشاء قاعدة بيانات بإستخدام برنامج الأكسس لتصميم الجدول التالي :

جدول الكتب و يحتوي على :

( رقم الكتاب , رقم التسلسل , السعر , الكمية المتوفرة , مستوى إعادة الطلب , أسم المؤلف , عدد صفحات الكتاب , تاريخ النشر , دار النشر ) ...

عن طريق الفيجول بيسك مطلوب إنشاء أرتباط بإستخدام مكون ADO.NET مع ملاحظة إستخدام الصنف OLEDBCONNECTION و الصنف OLEDBDATAADPTER و الصنف DATASET و الصنف OLEDBCOMMAND ...

= = = = = = = = = = = = =

2 / أختبار التطبيق و إدخال البيانات إلى القاعدة :

أ * صمم نموذج و قم بإضافة الأدوات المناسبة لعرض بيانات الجدول .

ب * قم بإضافة زر أمر يقوم بإضافة البيانات إلى جدول الكتب بإستخدام الكائن OLEDBCOMMAND ..

ج * قم بإضافة زر أمر لإجراء عملية حفظ السجلات ..

د * قم بإضافة زر أمر لحذف سجل ..

و * قم بإضافة زر أمر للإنتقال للسجل التالي / السابق / الأول / الأخير ..

هـ * قم بإضافة زر أمر من خلاله تتمكن من إجراء عملية بحث في القاعدة حسب رقم الكتاب ..

ي * إستخدم التطبيق الذي قمت بإنشائه لإضافة عشر كتب و أختبر جميع الأزارير للتأكد من عملها بالشكل المطلوب ..

= = = = = = = = = = = = =

3 / و ضح وظيفة كل صنف و كائن و الطرق المستخدمة لإنشاء التطبيق ..

= = = = = = = = = = = = =

4 / إشرح جميع الجمل البرمجية المستخدمة في هذا التطبيق ..

= = = = = = = = = = = = =

أتمنى تساعدوني بصراحة مو فاهمة شئ من هالسؤال كله :( ...

و اللي يبي يساعد يتذكر إني توي أقول يا هادي يعني لا يجلس

يقوم شئ حق ناس محترفة أضيع أنا ....

#2

معقولة كذا عضو و كذا مراقب و مشرف

يدخلون المنتدى ما أحد شاف هذا الموضوع ؟؟!!!

أو إنه غير مرحب بالأعضاء الجدد ؟؟!!!!

على العموم أعتذر على الإزعاج و شكراً لكم

#3
اقتباس
معقولة كذا عضو و كذا مراقب و مشرف

اخي الكريم

تذكر ان اليوم جمعه والساعة التي كتبت فيها الموضوع كان 7 الى عشرة

يعني اعذر الشباب

البعض منهم نائم وهو يوم اجازتة الوحيد

والبعض منهم لايدخل في هذا الوقت

على العموم السؤال مو صعب وهو بدائي

وان شاء الله سيتم شرحة بالتفصيل

بعد صلاة الجمعه

تحياتي

#4

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

هذا مثال ولكن يجب عليك التغيير

واسف لعدم شرحي

لضيق الوقت

واذا فية اسئلة انا موجود

Books.rar

#5

السلام عليكم

اخي الكريم:

تم تحميل الملف المرفق ولم يشتغل معي لا اعلم ماهي المشكله

رغم اني محمل الفجول بيسك دوت نت

ولك جزيل الشكر

#6

أول شئ أنا أسفة ... ممكن معك حق :) ...

ثاني شئ الملف ما يشتغل معي :( مع إني محمله

البرنامج ... وش الحل ؟؟!!

#7

هذي الرسالة تطلع لي بعد التحميل :

Untitled-1.psd.gif

#8

البرنامج مضغوط بالـ WinRar، و يجب أن يكون مثبت بجهازك حتى تتمكني من فك البرنامج.

لتحميل الـ WinRar.. إضغطي على هذا الرابط.

أو

لتحميل النسخة العربية منه.. إضغطي على هذا الرابط.

تم تعديل هذه المشاركة بواسطة محمد عبد العليم في 9 أكتوبر 2004 في 04:12

رأس الحكمة الإيمان بالله

#9

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

right1.gif

يعطيكم العافية و جعلها المولى بميزان حسناتكم :)

right1.gif

#10

بارك الله فيك اخوي محمد

انا اسف لضغط الملف winrar

لان winzip عندي فيه مشكلة

اتمنى الرد من الاعضاء الذين حملوا البرنامج ليعططونا النتائج

وان شاء الله سوف اضع برنامج اليوم بطريقة dataBinding

وبالتوفيق

تحياتي لكم

#11

السلام عليكم

اخت ميسم هذا البرنامج نفس البرنامج المكلف فيه

شكله الي عطاك البرنامج عطانيه

نزلت الكود كامل بالمنتدى بس فيه خطئ

لمايردون علي خوذيه

تحياااااااااااتي العالميه

#12

mn_902

يعطيك العافية أخوي و ما قصرت

البرنامج نزل معي خلاص ...

بس بصراحة شكل هذا الحل حق ناس محترفة

يعني ما أذكر درست كل هذا الدش ...

و أنا توي مستوى تمهيدي من البرمجة :) ...

#13

وعليكم السلام

تحياتك العالمية و تحيات الشعب كله :)

ربي يوفق الجميع و يحنن قلوبهم علينا :)

#14
اقتباس
بس بصراحة شكل هذا الحل حق ناس محترفة

اخوي هذا برنامج عادي ولا فيه اي احترف

انا اشوف الاحتراف في تطبيقات Stored Prucedure

زي مايستخدم الاخ طارق في كثير من تطبيقاته الان

وبالتوفيق

#15

شلون ضبط معاك وإلا نحله لك

#16

أخوي يمكن البرنامج مو لشخص محترف مثل ما تقول

بس بالنسبة لي أحسه كذا ...

يمكن لأني شفت فيه أشياء ما أخذتها لسه !!

فلو ممكن تجيب لي حل أبسط أكون شاكرة :) ...

#18

يااخواني انا عندي نفس مشروع الاخت ميسم

ومافتح معي الملف لانه نفس الفورم ماتفتح ممكن تنزلو الكود او تشوف لنا حل وبسرعه ترى والله تعبت وانا ابحث عن هذا الكود

#19

اقول يابنات حارتنا

وش رايكن تصبرٍ علي بكره والا بعده وبنزل المشروع هذا كامل هنا

بس بشرط

اذا عطوكن الدرجه الكامله ترسلن لي درجتين هديه :)

#20

يا ريت تحلونه لي واكون لكم من الشاكرين

والله اخواني تعبت من كثر ما لفيت وان شاء الله بكون معاكم على طوول في المنتدى هذا لانه باين عليه حلو وفيه ناس خبره

اختكم

دموووعه

#21

طالبة من معهد العالمية للحاسب و التقنية

يتكون البرنامج من 3 فورمات

النموذج الاول يتكون من ( زر لللانتقال لنموذج البحث - زر للانتقال لنموذج الاضافة - زر للخروج من البرنامج )

Form 1

Private Sub closeform1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles fclose.Click

Me.Close()

End Sub

Private Sub openform2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles openform2.Click

Dim x As New Form2()

x.ShowDialog()

End Sub

Private Sub openform3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles openform3.Click

Dim x As New Form3()

x.ShowDialog()

End Sub

يتكون النموذج الثاني (البحث) من (زر بحث - تحديث - حذف-حفظ-النموذج الرئيسي - السجل الاول - الاخير - السابق - التالي )

Form 2Private Sub first(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles first.Click

Me.BindingContext(DataSet1, "book").Position = 0

TextBox1.Text = DataSet1.Tables("book").Rows(0)("data1")

TextBox2.Text = DataSet1.Tables("book").Rows(0)("data1")

TextBox3.Text = DataSet1.Tables("book").Rows(0)("data1")

TextBox4.Text = DataSet1.Tables("book").Rows(0)("data1")

TextBox5.Text = DataSet1.Tables("book").Rows(0)("data1")

TextBox6.Text = DataSet1.Tables("book").Rows(0)("data1")

TextBox7.Text = DataSet1.Tables("book").Rows(0)("data1")

TextBox8.Text = DataSet1.Tables("book").Rows(0)("data1")

TextBox9.Text = DataSet1.Tables("book").Rows(0)("data1")

End Sub

Private last(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles last.Click

Me.BindingContext(DataSet1, "book").Position = Me.BindingContext(DataSet1, "book").Count - 1

TextBox1.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox2.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox3.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox4.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox5.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox6.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox7.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox8.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox9.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

End Sub

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

Me.BindingContext(DataSet1, "book").Position - = 1

TextBox1.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox2.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox3.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox4.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox5.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox6.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox7.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox8.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox9.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

End Sub

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

Me.BindingContext(DataSet1, "book").Position += 1

TextBox1.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox2.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox3.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox4.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox5.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox6.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox7.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox8.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox9.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

End Sub

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

Dim x As New OleDbCommand()

x.CommandText = "delete from book where bookno=textbox1.text"

x.Connection = OleDbConnection1

OleDbConnection1.Open()

x.ExecuteNonQuery()

OleDbConnection1.Close()

MsgBox(" تم حذف السجل بنجاح", MsgBoxStyle.OKOnly, "حذف سجل")

End Sub

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

Me.Close()

End Sub

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

Dim x As New OleDbCommand()

x.CommandText = "up date book set

bookno=textbox1.text,bid=textbox2.text,

price=textbox3.text,amount=textbox4.text,

requerd=textbox5.text,pages=textbox6.text,

datepress=textbox7.text,pressname=textbox8.text,

author=textbox9.text"

x.Connection = OleDbConnection1

OleDbConnection1.Open()

x.ExecuteNonQuery()

OleDbConnection1.Close()

MsgBox(" تم تعديل السجل بنجاح", MsgBoxStyle.OKOnly, "تعديل سجل")

End Sub

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

Dim x As New OleDbCommand()

Dim search As OleDbDataReader

x.Connection = OleDbConnection1

x.CommandText = "select*from book where(bookno=textbox1.text )"

OleDbConnection1.Open()

search = x.ExecuteReader

If search.Read Then

TextBox1.Text = search.GetValue(0)

TextBox2.Text = search.GetValue(1)

TextBox3.Text = search.GetValue(2)

TextBox4.Text = search.GetValue(3)

TextBox5.Text = search.GetString(4)

TextBox6.Text = search.GetValue(5)

TextBox7.Text = search.GetString(6)

TextBox8.Text = search.GetString(7)

TextBox9.Text = search.GetValue(8)

Else

MsgBox("لم يتم العثور على الكتاب", MsgBoxStyle.OKOnly, "تنبيه")

End If

OleDbConnection1.Close()

search.Close()

End Sub

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

Dim x As New Form1()

x.ShowDialog()

End Sub

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

Dim save As DataSet = New DataSet()

Me.BindingContext(DataSet1, "book").EndCurrentEdit()

save = CType(save.GetChanges, DataSet)

If (Not (save) Is Nothing) Then

Try

Me.updatesource(save)

save.Merge(save)

Catch reupdata As SystemException

Throw reupdata

End Try

End If

End Sub

Public Sub updatesource(ByVal changedrows As DataSet)

Try

If (Not (changedrows) Is Nothing) Then

Me.OleDbConnection1.Open()

Me.OleDbDataAdapter1.Update(changedrows)

End If

Catch updateexception As SystemException

Throw updateexception

Finally

Me.OleDbConnection1.Close()

End Try

End Sub

Form 3

يتكون النموذج الثالث ( الاضافة ) من ( زر الاضافة - حفظ - خروج - النموذج الرئيسي )

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

Me.Close()

End Sub

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

Dim x As New Form1()

x.ShowDialog()

End Sub

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

Dim x As New oledbcommand()

x.CommandText =

"insert into book(bookno,bid,price,amount,

requerd,pages,datepress,pressname,author)

values(textbox1.text,textbox2.text,textbox3.text,

textbox4.text,textbox5.text,textbox6.text,

textbox7.text,textbox8.text,textbox9.text)"

x.connection = OleDbConnection1

x.executenonquery()

OleDbConnection1.Close()

MsgBox("تم إضافة السجل بنجاح", MsgBoxStyle.OKOnly, "إضافة سجل")

End Sub

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

Dim save As DataSet = New DataSet()

Me.BindingContext(DataSet1, "book").EndCurrentEdit()

save = CType(save.GetChanges, DataSet)

If (Not (save) Is Nothing) Then

Try

Me.Updatesource(save)

save.Merge(save)

Catch reupdata As SystemException

Throw reupdata

End Try

End If

End Sub

Public Sub updatesource(ByVal changedrows As DataSet)

Try

If (Not (changedrows) Is Nothing) Then

Me.OleDbConnection1.Open()

Me.OleDbDataAdapter1.Update(changedrows)

End If

Catch updateexception As SystemException

Throw updateexception

Finally

Me.OleDbConnection1.Close()

End Try

End Sub

#22

لشرح البرنامج السابق

يتكون البرنامج من 3 نماذج :

 النموذج الأول يمثل واجهة البرنامج .

 النموذج الثاني يمثل البحث في قاعدة البيانات .

 النموذج الثالث يمثل الإضافة في قاعدة البيانات .

النموذج الأول :

ويتكون من (زر للبحث _ زر للإضافة _ زر للخروج )

عند الضغط على زر بحث يتم الانتقال إلى نموذج البحث

بواسطة الكود التالي :

Dim x As New Form2()

x.ShowDialog()

حيث يقوم الكائن x من الصنف form2 بفتح نموذج البحث الذي يمثل form2 باستخدام الدالة Show Dialog

والذي يتكون من بيانات كل كتاب ويتم من خلاله البحث عن طريق كتابة رقم الكتاب في مربع النص الخاص به ثم اختيار زر البحث فيتم البحث في قاعدة البيانات باستخدام جملة sql حيث يقوم اولاً الكائن x من الصنف oledbcommand بتعريف وتنفيذ اومر لغة sql من خلال السطر التالي

Dim x As New OleDbCommand()

ثم يقرأ الكائن x من الصنف OleDbDataReader مجموعة من السجلات المخزنة في قاعدة البيانات و يرجعها لعرضها للقراءة فقط من خلال السطر التالي

Dim search As OleDbDataReader

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

x.Connection = OleDbConnection1

ثم تستخدم الدالةCommand Text لتخزين عبارةsql في الكائن x والتي تقوم هنا بالبحث في جدول book عن السجلات التي قيمة الحقل bookno بها تساوي القيمة التي يدخلها المستخدم في textbox1.text من خلال السطر التالي

x.CommandText = "select*from book where(bookno=textbox1.text )"

ولفتح الاتصال بقاعدة البيانات باستخدام الدالة Open في السطر التالي

OleDbConnection1.Open()

ولتنفيذ عبارة sql ووضع ناتج العملية في الكائن search من الصنف OleDbDataReader

نكتب السطر التالي

search = x.ExecuteReader

و الآن نقوم باستخدام عبارة الشرط للبحث في السجلات عن رقم الكتاب المطلوب

 ففي حالة الحصول على الكتاب يتم عرض بيانات كل حقل في مربع النص المحدد من خلال تنفيذ الأسطر التالية

If search.Read Then

TextBox1.Text = search.GetValue(0)

TextBox2.Text = search.GetValue(1)

TextBox3.Text = search.GetValue(2)

TextBox4.Text = search.GetValue(3)

TextBox5.Text = search.GetString(4)

TextBox6.Text = search.GetValue(5)

TextBox7.Text = search.GetString(6)

TextBox8.Text = search.GetString(7)

TextBox9.Text = search.GetValue(8)

 أما في حالة عدم الحصول على الكتاب يتم عرض رسالة تفيد بذلك وإغلاق جملة الشرط من خلال السطر التالي

Else

MsgBox("لم يتم العثور على الكتاب", MsgBoxStyle.OKOnly, "تنبيه")

End If

ثم إغلاق الاتصال بقاعدة البيانات و إغلاق الكائن search من خلال السطر التالي

OleDbConnection1.Close()

search.Close()

قد يرغب المستخدم بعد الحصول على نتائج البحث ( بيانات الكتاب ) أن يقوم

o بتعديلها

o حذفها

وللقيام بعملية التعديل ما عليه إلا أن يعدل البيانات الموجودة في مربعات النص الظاهرة أمامه و التي تم البحث عنها سابقاً ثم الضغط على زر تحديث فيتم تحديث البيانات في قاعدة البيانات باستخدام جملة sql حيث يقوم أولا الكائن x من الصنف oledbcommand بتعريف وتنفيذ اومر لغة sql من خلال السطر التالي

Dim x As New OleDbCommand()

ثم تستخدم الدالةCommand Text لتخزين عبارةsql في الكائن x والتي تقوم هنا

بتعديل السجلات التي قام المستخدم بتغيير قيم حقولها من خلال السطر التالي ( في سطر واحد)

x.CommandText = "up date book set bookno=textbox1.text,bid=textbox2.text,

price=textbox3.text,amount=textbox4.text,requerd=textbox5.text,pages=textbox6.text,datepress=textbox7.text,pressname=textbox8.text,author=textbox9.text"

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

x.Connection = OleDbConnection1

ثم نفتح الاتصال بقاعدة البيانات نستخدم الدالة Open في السطر التالي

OleDbConnection1.Open()

ولتحديد عدد السجلات التي سوف تتأثر بتنفيذ جملة sql نستخدم الدالة ExecuteNonQuery

في السطر التالي

x.ExecuteNonQuery()

ثم إغلاق الاتصال بقاعدة البيانات باستخدام الدالة close و إظهار رسالة تفيد بتحديث السجلات من خلال الأسطر التالية

OleDbConnection1.Close()

MsgBox(" تم تعديل السجل بنجاح", MsgBoxStyle.OKOnly, "تعديل سجل")

وبذلك يتم تعديل بيانات الكتاب بعد أن تمت عملية البحث عنه

أما إذا أراد المستخدم حذف الكتاب فما علية إلا أن يقوم بالضغط على زر حذف فيتم حذف

البيانات في قاعدة البيانات باستخدام جملة sql حيث يقوم أولا الكائن x من الصنف oledbcommand بتعريف وتنفيذ اومر لغة sql من خلال السطر التالي

Dim x As New OleDbCommand()

ثم تستخدم الدالةCommand Text لتخزين عبارةsql في الكائن x والتي تقوم هنا بحذف السجل من جدول book الذي قيمت حقل bookno به =القيمة التي يدخلها المستخدم في textbox1.text وذلك من خلال السطر

x.CommandText = "delete from book where bookno=textbox1.text"

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

x.Connection = OleDbConnection1

ثم نفتح الاتصال بقاعدة البيانات نستخدم الدالة Open في السطر التالي

OleDbConnection1.Open()

ولتحديد عدد السجلات التي سوف تتأثر بتنفيذ جملة sql نستخدم الدالة ExecuteNonQuery

في السطر التالي

x.ExecuteNonQuery()

ثم إغلاق الاتصال بقاعدة البيانات باستخدام الدالة close و إظهار رسالة تفيد بحذف

السجلات من خلال الأسطر التالية

MsgBox(" تم حذف السجل بنجاح", MsgBoxStyle.OKOnly, "حذف سجل")

وبعد القيام بأي من العمليات السابقة (تحديث – حذف ) يجب أن يقوم بحفظ التغيرات

التي تمت على قاعدة البيانات بالضغط على زر ليتم تنفيذ الكود التالي

Dim save As DataSet = New DataSet()

Me.BindingContext(DataSet1, "book").EndCurrentEdit()

save = CType(save.GetChanges, DataSet)

If (Not (save) Is Nothing) Then

Try

Me.updatesource(save)

save.Merge(save)

Catch reupdata As SystemException

Throw reupdata

End Try

End If

End Sub

Public Sub updatesource(ByVal changedrows As DataSet)

Try

If (Not (changedrows) Is Nothing) Then

Me.OleDbConnection1.Open()

Me.OleDbDataAdapter1.Update(changedrows)

End If

Catch updateexception As SystemException

Throw updateexception

Finally

Me.OleDbConnection1.Close()

End Try

كذلك يمكن أن يقوم المستخدم بالتنقل بين السجلات من خلال الازارير الظاهرة في النموذج

للانتقال للسجل الأول بتنفيذ الكود التالي

Me.BindingContext(DataSet1, "book").Position = 0

TextBox1.Text = DataSet1.Tables("book").Rows(0)("data1")

TextBox2.Text = DataSet1.Tables("book").Rows(0)("data1")

TextBox3.Text = DataSet1.Tables("book").Rows(0)("data1")

TextBox4.Text = DataSet1.Tables("book").Rows(0)("data1")

TextBox5.Text = DataSet1.Tables("book").Rows(0)("data1")

TextBox6.Text = DataSet1.Tables("book").Rows(0)("data1")

TextBox7.Text = DataSet1.Tables("book").Rows(0)("data1")

TextBox8.Text = DataSet1.Tables("book").Rows(0)("data1")

TextBox9.Text = DataSet1.Tables("book").Rows(0)("data1")

للانتقال للسجل الأخير ينفذ الكود التالي

Me.BindingContext(DataSet1, "book").Position = Me.BindingContext(DataSet1, "book").Count - 1

TextBox1.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox2.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox3.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox4.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox5.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox6.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox7.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox8.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox9.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

للانتقال للسجل السابق ينفذ الكود السابق

Me.BindingContext(DataSet1, "book").Position - = 1

TextBox1.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox2.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox3.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox4.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox5.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox6.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox7.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox8.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox9.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

للانتقال للسجل التالي ينفذ الكود التالي

Me.BindingContext(DataSet1, "book").Position += 1

TextBox1.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox2.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox3.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox4.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox5.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox6.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox7.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox8.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

TextBox9.Text = DataSet1.Tables("book").Rows(Me.BindingContext(DataSet1, "book").Count - 1)("data1")

ثم الخروج من form2 باستخدام الدالة close من زر جروج من خلال الكود التالي

Me.Close()

أو العودة إلى النموذج الرئيسي من زر النموذج الرئيسي لتنفيذ الكود التالي

Dim x As New Form1()

x.ShowDialog()

عند الضغط على زر اضافة يتم الانتقال الى نموذج الاضافة وذلك بتعريف الكائن x من الصنف form3 باستخدام الدالة ShowDialog مع الكائن x

Dim x As New Form3()

x.ShowDialog()

وذلك لتعبئة بيانات الكتب الجديدة الى المكتبة ثم الضغط على زر اضافة لإتمام عملية الإضافة وذلك باستخدام جملة sql حيث يقوم أولا الكائن x من الصنف oledbcommand بتعريف وتنفيذ اومر لغة sql من خلال السطر التالي

Dim x As New OleDbCommand()

ثم تستخدم الدالةCommand Text لتخزين عبارةsql في الكائن x والتي تقوم هنا بإضافة السجلات التي قام المستخدم بإدخال قيم حقولها من خلال السطر التالي

x.CommandText = "insert into book(bookno,bid,price,amount,requerd,pages,

datepress,pressname,author)values(textbox1.text,textbox2.text,textbox3.text,

textbox4.text,textbox5.text,textbox6.text,textbox7.text,textbox8.text,

textbox9.text)"

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

x.Connection = OleDbConnection1

ولتحديد عدد السجلات التي سوف تتأثر بتنفيذ جملة sql نستخدم الدالة ExecuteNonQuery

في السطر التالي

x.ExecuteNonQuery()

ثم إغلاق الاتصال بقاعدة البيانات باستخدام الدالة close و إظهار رسالة تفيد بتحديث السجلات من خلال الأسطر التالية

OleDbConnection1.Close()

MsgBox("تم إضافة السجل بنجاح", MsgBoxStyle.OKOnly, "إضافة سجل")

و بذلك تتم إضافة الكتب ولكن بقي خطوة واحدة لإتمام عملية الإضافة وهي حفظ السجلات التي تمت إضافتها في قاعدة البيانات ويتم ذلك بالضغط على زر حفظ ليتم تنفيذ الكود التالي

Dim save As DataSet = New DataSet()

Me.BindingContext(DataSet1, "book").EndCurrentEdit()

save = CType(save.GetChanges, DataSet)

If (Not (save) Is Nothing) Then

Try

Me.updatesource(save)

save.Merge(save)

Catch reupdata As SystemException

Throw reupdata

End Try

End If

End Sub

Public Sub updatesource(ByVal changedrows As DataSet)

Try

If (Not (changedrows) Is Nothing) Then

Me.OleDbConnection1.Open()

Me.OleDbDataAdapter1.Update(changedrows)

End If

Catch updateexception As SystemException

Throw updateexception

Finally

Me.OleDbConnection1.Close()

End Try

و بعد حفظ التغيرات التي تمت على قاعدة البيانات يتم الخروج من form3

باستخدام الدالة close من زر خروج من خلال الكود التالي

Me.Close()

أو العودة إلى النموذج الرئيسي من زر النموذج الرئيسي لتنفيذ الكود التالي

Dim x As New Form1()

x.ShowDialog()

 عند الضغط على زر خروج يتم الخروج من البرنامج باستخدام الكود التالي

Me.Close()

وهذا الحل الكامل للبرنامج

-waf

#23

بارك الله فيك

لو نسقت الاكواد باستخدام زر CODE لكان أفضل للعرض

وشكرا لكي

هذا الموضوع مغلق.

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