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

حفظ البيانات

مغلق
بدأه كريستينا في 9 أكتوبر 2005 · 11 رد · 1,478 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

صباح الخيرررررررررررررررررررررر :lol:

اذا عملت برنامج بالفيجوال وقمت بربطة بقاعدة البيانات وعملت فورم وضعت علية زر اضافة واضفت بيانات في ال(textbox) ابي احفظها في قاعدة البيانات كيف اكتب الكود(خاصة اذا كان اكثر من جدول وبينها علاقات) :(

وكيف انتقل من سجل ال سجل اخر :unsure:

انا محتاجة لهذي المعلومات بسرررررررررررررررررررررررررررعة

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

#3

هههههههههههههههه كريستينا بصراحة سؤال صغير ولكن الجواب مررررررررررة طويل

شوفي يابنت الحلال قسمي سؤالك اجزاء لكي يسهل شرحه او قومي بالبحث في المنتدى

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#4
اقتباس
قومي بالبحث في المنتدى

لااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااا للبحث :(

عن جد تعبت من البحث كلما دخلت منتدى قالوا ابحثي بحثت كثيييييييييييييييييييييييييررررررررررررر ومليت ومالقيت جوابي ابداااااااااااااااااااااا :angry:

اقتباس
قسمي سؤالك اجزاء

B) bien

السؤال الأول:إذا اضفت بيانات في ال(textbox) ابي احفظها في قاعدة البيانات كيف اكتب كود الحفظ(خاصة اذا كان اكثر من جدول وبينها علاقات) :)

السؤال الثاني:

كيف انتقل من سجل ال سجل اخر :wacko:

بليييييييييييييييييييييييييييييييييييييييييييييييييييييز ماعد فية وقت ردوا على سؤالي

AND BIG THANKS 4 ALL

Romantic_touch

hazzoom

ميرسي بوكو :D

#5

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

هذا أحد المواضيع في المنتدى أرجو ان تجدي فيه ما تطلبين ففيه شرح للعمليات على قاعدة بيانات SQL

ونفس المثال يمكنك تغيير بعض اجزاءة ليتمكن من العمل على قاعدة بيانات ACCESS

العمليات على قاعدة بيانات SQL SERVER

بالتوفيق ان شاء الله

#6

السلام عليكم

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

عملية الانتقال بين السجلات تتم بالمتغير POSITION

Me.BindingContext(Me.DataSet11, "mytable").Position + = 1   السجل التالي

Me.BindingContext(Me.DataSet11, "mytable").Position - = 1  السجل السابق

Me.BindingContext(Me.DataSet11, "mytable").Position =0   السجل الاول

Me.BindingContext(Me.DataSet11, "mytable").Position = Me.BindingContext(Me.DataSet11, "mytable").Count - 1   السجل الاخير

ارجوا ان يكون كما طلبت !

#8

السلام عليكم..طولنا عليك كتير اعذرينا ^.^

الدرس من كتاب الأخ الكريم :خالد الجديع

الاتصال بقواعد البيانات

لقراءة أو كتابة بيانات على قاعدة بيانات ما لابد في البداية من إنشاء الاتصال بقواعد البيانات،

وهو ما يتم من خلال كائن الاتصال – -. Connection وكما مر بك سالفا فإنه بناء على اختيارك

لمزود البيانات سوف تقوم باستخدام كائن الاتصال الخاص بذلك المزود . ونريد هنا أن نذكرك بأن

كائن الاتصال يوجد في الامتداد التالي

System. Data. OleDb

سوف نقوم بالتعامل في جميع الأمثلة مع مزود البيانات العام Oledb نظرا لأننا سوف

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

للاتصال بقاعدة بيانات ما لابد من اعطاء كائن البيانات معلومات كافية عن قاعدة البيانات التي

تريد أن تتصل بها مثل مكان قاعدة البيانات و اسم قاعدة البيانات و كلمة المرور و الكلمة السرية

-Connection String – للدخول لقاعدة البيانات إن وجد . استخدم خاصية سلسلة الاتصال

لاعطاء هذه المعلومات .

سلسلة الاتصال بقواعد البيانات

: - ConnectionString – ما هي سلسلة الاتصال .I

تعتبر سلسلة الاتصال أحد خصائص كائن الاتصال، ويمكن تعريفها بأنها عبارة عن عدد من

العوامل – -Parameters الضرورية للاتصال بقواعد البيانات تختلف بعض هذه العوامل بناء

على مزود البيانات . يشمل الجدول التالي أهم العوامل في سلسلة الاتصال :

العامل الشرح

لهذا الاتصال ،وتستخدم فقط عندما ole هذه الخاصية هي اسم مزود Provider

.OLE DB تقوم باستخدام مزود البيانات

. اسم خادم البيانات DataSource

. اسم قاعدة البيانات Intial Catalog

. يحدد فيما إذا كان الاتصال متكامل الثقة مع ويندوز Integrated Security

ويمثل الوقت الذي تتم فيه محاولة الاتصال بقاعدة البيانات فإن لم يتم ConnectionTimeout

الاتصال خلال هذا الوقت – بالثانية – تم ارجاع خطأ وتم افشال

الاتصال علما بأن الوقت الافتراضي هو ١٥ ثانية .

. كلمة العبور لقاعدة البيانات واسم المستخدم UserID/ Password

و إليك هذا الجدول الذي يعطي أمثلة على أسماء مزودي ole الشائعين .

اسم مزود Ole قاعدة البيانات

Microsoft Access Microsoft. Jet. OLEDB. 4.0

Microsoft SQL Server SQLOLEDB. 1

Oracle MSDAORA. 1.II

SQLServer - سلسلة للاتصال بقاعدة بيانات ١

Provider= sqloledb; Data Source= SQL Server DB; Initial

Catalog= Northwind; User ID= UserName; Password= password

- ٢ سلسلة للاتصال بقاعدة بيانات أوراكل

Provider= MSDAORA; Data Source= Oracle DB; User

ID= UserName; Password= password

- ٣ سلسلة للاتصال بقاعدة بيانات مايكروسوفت أكسس

Provider= Microsoft. Jet. OLEDB. 4.0; Data Source= c:\ Mydb\ db1. mdb;

إذا كان موقع قاعدة البيانات في نفس الفهرس – -Directory الذي تقع فيه الصفحة التي

تتصل بقاعدة البيانات فإنك لاتحتاج إلى كتابة الموقع كاملا و إنما يكفي اسم قاعدة البيانات .

طريقة سهلة لبناء سلسلة الاتصال .III

قد تواجه أحيانا مشكلة في كتابة سلسلة الاتصال لأنه من الصعب تذكر كيفية كتابتها بدون أخطاء

و بدون نسيان حرف أو فاصلة . يوجد طريقة سهلة لإنشاء سلسلة الاتصال . قم بما يلي :

.MyConnString. txt واعطه اسم TextFile - قم بإنشاء ملف نصي ١

.( Universal Data Link ( اختصار UDL إلى txt - غير امتداده من ٢

- ٣ انقر مزدوج على الملف ليظهر لك الشكل ) ) ١ - ١٣

- ٤ اختر شريط مزود البيانات Provider ثم اختر المزود الخاص بأكسس وهو

Microsoft. Jet. OLEDB. 4

. Connection - اختر شريط ٥

- ٦ قم باختيار قاعدة البيانات التي تريد أن تبني لها سلسلة اتصال .

.II

SQLServer - سلسلة للاتصال بقاعدة بيانات ١

Provider= sqloledb; Data Source= SQL Server DB; Initial

Catalog= Northwind; User ID= UserName; Password= password

- ٢ سلسلة للاتصال بقاعدة بيانات أوراكل

Provider= MSDAORA; Data Source= Oracle DB; User

ID= UserName; Password= password

- ٣ سلسلة للاتصال بقاعدة بيانات مايكروسوفت أكسس

Provider= Microsoft. Jet. OLEDB. 4.0; Data Source= c:\ Mydb\ db1. mdb;

إذا كان موقع قاعدة البيانات في نفس الفهرس – -Directory الذي تقع فيه الصفحة التي

تتصل بقاعدة البيانات فإنك لاتحتاج إلى كتابة الموقع كاملا و إنما يكفي اسم قاعدة البيانات .

طريقة سهلة لبناء سلسلة الاتصال .III

قد تواجه أحيانا مشكلة في كتابة سلسلة الاتصال لأنه من الصعب تذكر كيفية كتابتها بدون أخطاء

و بدون نسيان حرف أو فاصلة . يوجد طريقة سهلة لإنشاء سلسلة الاتصال . قم بما يلي :

1-قم بإنشاء ملف نصي باسم MyConnString. txt .

2غير امتداده من txt إلى UDL

- ٣ انقر مزدوج على الملف ليظهر لك الشكل(نافذة بعنوان Data Link Properties)

- ٤ اختر شريط مزود البيانات Provider ثم اختر المزود الخاص بأكسس وهو

Microsoft. Jet. OLEDB. 4

. Connection - اختر شريط ٥

- ٦ قم باختيار قاعدة البيانات التي تريد أن تبني لها سلسلة اتصال .

- ٧ اضغط على زر موافق .

- ٨ اذهب إلى الملف MyConnString. udl وافتحه بواسطة .NotePad ليظهر لك

الشكل(ملف نص فيه اسماء مزودات لا تجازز الأربع أسطر)٣ ، ابتداء من كلمة Provider يمثل سلسلة الاتصال.

فتح و اغلاق الاتصال بقواعد البيانات

لفتح الاتصال بقواعد البيانات استخدم الطريقة Open وهي أحد طرق كائن الاتصال . و لإغلاق

الاتصال استخدم الطريقة Close أو Dispose وسوف يأتي الفرق بين الطريقتين .

و لنأخذ المثال التالي :

Dim con As New OleDb. OleDbConnection()

con. ConnectionString = "Provider= Microsoft. Jet. OLEDB. 4.0; Data Source=" & _

"C:\ TelDir. mdb; Persist Security Info= False"

con. Open()

. . . . .

con. Close

في الكود السابق قمنا بما يلي :

.oledb من نوع Con - في السطر الأول أعلنا عن كائن اتصال ١

- ٢ في السطر الثاني قمنا بتعريف سلسلة الاتصال وهي كما تلاحظ سلسلة الاتصال بقاعدة

بيانات خاصة بمايكروسوفت أكسس .

- ٣ في السطر الثالث قمنا بفتح الاتصال .

- ٤ النقاط كناية عن عمليات نقوم بها على قاعدة البيانات .

.Close - أخيرا أغلقنا الاتصال من خلال الطريقة ٥

طرق فتح و إغلاق الاتصال

توجد هناك طريقتان لفتح و إغلاق الاتصال بقواعد البيانات :

- ١ فتح وإغلاق الاتصال ظاهريا : ونعني به أن تقوم باستخدام وظيفة فتح وإغلاق الاتصال

بشكل ظاهر في الكود . و تعتبر هذه الطريقة طريقة مفضلة للأسباب التالية :

سهولة قراءة الكود . حيث يظهر بشكل واضح مكان فتح و إغلاق الاتصال .I

تساعد على متابعة الأخطاء .II

ملاحظة : في هذه الطريقة، ولأنك تقوم بفتح و إغلاق الاتصال بنفسك يتوجب عليك إغلاق

الاتصال كلما انتهيت منه للأسباب التالية :

. أكثر قواعد البيانات لها عدد محدود من الاتصالات .a

. ترك الاتصال مفتوحا يستهلك موارد كبيرة جدا .b

للتأكد من حالة الاتصال هل هو مفتوح أو مغلق استخدم خاصية State كما في المثال التالي

if (ConnectionObject. State = ConnectionState. Open)

٢ فتح و إغلاق الاتصال باطنيا : وهو أن يقوم مهيء البيانات بفتح الاتصال عند تنفيذ

عملية ما، ثم يقوم بإغلاق الاتصال عند انتهائه من العملية . في هذه الحالة لا تقوم

باستخدام وظيفتي فتح و إغلاق الاتصال بل يقوم مهيء البيانات بذلك وذلك عندما تستخدم

إحدى الدالتين التاليتين Fill ، Update تقوم الدالة بالتأكد من وجود اتصال مفتوح بقاعدة

البيانات لتستخدمه أو تقوم بفتح اتصال ثم إغلاقه .

عمليتا فتح و اغلاق الاتصال ظاهريا و باطنيا تعتمد على نوع البيئة التي تستخدمها، هل

هي بيئة متصلة أو غير متصلة . الفتح الظاهري خاص بالبيئة المتصلة و الفتح الباطني خاص

بالبيئة غير المتصلة

معالجة استثناءات الاتصال بقواعد البيانات

عند الاتصال بقواعد البيانات قد تظهر بعض الاستثناءات التشغيلية، بعضها متوقع و البعض

الآخر غير متوقع . تتم معالجة الأخطاء التشغيلية من خلال عبارة .Try Catch يمكن تعريف

الاستثناء – -Exception بأنه إما خطأ أو أداء غير متوقع إما من البرنامج نفسه أو من بيئة

تشغيل البرنامج . ظهر أسلوب جديد لمعالجة الاستثناءات في الدوت نت مع العلم أنه لم يكن

موجودا في الاصدار السابق من فيجوال بيسك و الذي كان يعالج الأخطاء من خلال عبارة

في بيئة الدوت نت لأنه يحوي عدد Onerror لا تنصح ميكروسوفت باستخدام .Onerror

محدود من المعلومات عن الأخطاء أما في الطريقة الجديدة في الدوت نت فيمكن معرفة

معلومات كثيرة مثل رقم السطر الذي حدث به الخطأ و اسم الدالة التي حصل بها الخطأ و

اسم خادم البيانات وهو ما لم يكن متوفرا في السابق .

المعالجة الهيكلية للاستثناءات في بيئة الدوت نت

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

السياق التالي:

Try

Catch

Finally

End Try

يمكن شرح سياق معالجة الاستثناءات من خلال النقاط التالية :

.Try - تكتب ما تريد أن تنفذه من كود في عبارة ١

- ٢ عند حدوث خطأ يقوم سياق Catch بمعالجة الخطأ . أما عند عدم حدوث خطأ فلا ينفذ

.Catch محتوى عبارة

- ٣ عبارة Finally يتم تنفيذها في كل الأحوال وهي عبارة اختياريه تستطيع عدم استخدامها

إذا لم تحتج لها .

Dim con As New OleDb. OleDbConnection()

con. ConnectionString = "Provider= Microsoft. Jet. OLEDB. 4.0; Data Source="

& _

"C:\ TelDir. mdb; Persist Security Info= False"

Try

con. Open()

Catch Exp As OleDb. OleDbException

Label1. Text = Exp. Message

Finally

con. Close()

End Try

المثال التالي يوضح استخدام هيكلية الاستثناء في بيئة الدوت نت .

يمكن تلخيص المثال بالخطوات التالية :

- ١ في السطر الأول قمنا بتعريف اتصال بقاعدة البيانات .

- ٢ في السطر الثاني قمنا بتعريف سلسلة الاتصال .

- ٣ بدأ سياق معالجة الاستثناءات

٤

.Catch - إن حصل أي خطأ في فتح الاتصال سوف ينتقل السياق إلى عبارة ٥

- ٦ في عبارة Catch قمنا بتعريف متغير من نوع استثناء خاص بـ Oledb ثم عرضنا

الرسالة التي توضح الاستثناء على أداة عنوان .

- ٧ في كل الأحوال سواء حصل استثناء أم لم يحصل سيتم إغلاق الاتصال بقاعدة البيانات .

طبق ما سبق من خلال التدريب التالي :

• قم بتغيير اسم قاعدة البيانات .

• حاول الاتصال بقاعدة البيانات باستخدام سلسلة الاتصال السابقة .

• يجب أن يكون هناك خطأ قم بمعالجته مظهرا رسالة على عنوان .

إذا مازلت بحاجة لمعلومات في أيضا أوعية الاتصال و غيرها ..وشكرا

#9

شكرررررررررررررررررررررا جزيلا على المعلومات

eias

حسن المنتصر

شكررررررررررررررررررررررررررررا

#11

ايوة هذي المعلومات اللي ابيها شكرا

#12

الأخت الكريمة .... حمداً لله أنك حصلتى على الممعلومات المطلوبة

ولكن الأهم من ذلك هناك نصائح أود توجيهها لك كأخ مسلم:

1- الأسماء العربية مثل فاطمة - عائشة أو غيرها هى أسماء جميلة ومحببة بدلاً من كريستينا

2- اللغة العربية أجمل وأرقى من كل لغات الدنيا وهى لغة القرآن ... فمثلاً ميرسى بوكو لها بديل أكثر رقى وجمالاً فى لغتنا الجميلة ألا وهى شكراً جزيلاً.

وقفنا الله ووفقك لما فيه الخير فى الدنيا والآخرة.

والله من وراء القصد.

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

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