![]() |
|
اريد ان افهم لا ان افهم ؟! - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم أسئلة واستفسارات الأعضاء - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=94) +--- قسم : قسم قواعد البيانات العام (http://vb4arb.com/vb/forumdisplay.php?fid=169) +--- الموضوع : اريد ان افهم لا ان افهم ؟! (/showthread.php?tid=7254) |
اريد ان افهم لا ان افهم ؟! - Mido9 - 05-12-12 السلام عليكم اخواني الافاضل انا الان برمجت برنامج باستخدام قواعد بيانات الاكسيس . و لكن للاسف وجدت نفسي ان معظم الاكواد مش فاهمها كل الى بعمله اني حافظ اماكن الاكواد و بطبق و خلاص ![]() فا كنت حابب افهم وظيفة بعض الاكواد . على سبيل المثال الان لدي هذا الكود بإستخدام قاعده اكسيس وظيفته اظهار رساله لو الباسورد صحيح PHP كود : Dim saveinto As New OleDb.OleDbCommandحيث انني لا افهم معنى الـ oledb و هذه الاشياء فقط اقوم بالنسخ ![]() ياريت لو احد يتكرم بشرح كل سطر ووظيفته . و اسف لو بتقل عليكم بس غرضي اني اكون فاهم حتى اتجنب المشاكل مستقبلا و شكرا لكم اريد ان افهم لا ان افهم ؟! - السكر المغرور - 05-12-12 و عليكم السلام اخي ،، اوكيه مو مشكله ،، بس قبل كل شيء عندك نوعين من الاتصال المنفصل و المتصل ،، و انت في حالتك استخدمت المنفصل ،، بتقولي كيف ،، لانك تاخذ نسخة وهميه من قاعدة البيانات على الرام و ما تحتاج تتصل على قاعدة البيانات بكل اجراء تسويه الا في حالات معينه لحفظ العمل التي قمت بتغيرها في البيانات ،، طبعا هذي تفيدك في عمليات الضغط الكبير على قاعدة البيانات يعني اكثر من مستخدم على قاعدة البيانات ،، اما الاتصال المتصل فانك راح تتعامل مع قاعدة البيانات طوال الوقت ،، و انت شفت عينه منه بردي عليك بالموضوع الاول الي صححت لك عليه الكود . بالنسبه لسؤالك الاخير ،، فهو عباره عن مكتبه للتعامل مع قواعد بيانات اكسس او اوراكل او اغلب القواعد البيانات الاخرى التي يدعمها الفيجول استديوا ما عدا sql server فمكتبتها اسمها sql client ممكن تضمن المكتبه باعلى الفورم و ترتاح من كتابته كل مره ،، مثال على ذلك Imports System.Data.OleDb طيب باقي شرح الكود ::: Dim saveinto As New OleDb.OleDbCommand تعريف متغير من نوع (امر) وهو الذي سيحمل جملة SQL التي سننفذها على قاعدة البيانات Dim constr As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & Application.StartupPath & "\db.mdb" متغير من نوع نصي يحمل مسار قاعدة البيانات Dim conn As New OleDb.OleDbConnection(constr) متغير من نوع اتصال ،، وهو الذي سيقوم بتحديد قاعدة البيانات التي سنطبق عليها الامر السابق Dim DataSet1 As New DataSet جدول وهمي سيحمل نسخه من قاعدة البيانات ،، << و هذا ما كنت اتحدث عنه قبل قليل بالاتصال المنفصل Dim SQLstr As String متغير نصي سيحمل نص الامر الذي سننمرره لكائن (الامر) SQLstr = "SELECT * From userr Where pass=('" & TextBox2.Text & "')" جملة الاستعلام المسماه SQL Dim sda As New OleDbDataAdapter(SQLstr, conn) اممممممممممممم هذا ما اعرف اوصفه تمام ،، لكن هذا مثل الناقل ،، يعني وظيفته فقط بنقل النسخة الي نسخها من قاعدة البيانات الحقيقيه و تزويدها للداتا سيت sda.Fill(DataSet1) الان تتم عملية النقل و املاء الداتا سيت بالبيانات و الجداول conn.Open() فتح اتصال لقاعدة البيانات حتي يبدا تنفيذ الامر عليها If DataSet1.Tables(0).Rows.Count > 0 Then هنا شرط اذا كان المرجع في الداتا سيت ،، في الجدول الذي ترتيبه (0) ،، عدد سجلاته اكبر من الصفر MsgBox("Yes") Else MsgBox("No") End If و هكذا تفسيرها لا توجد صعوبه اخي الفاضل ،، و فيه كتب كثيره ممكن تقرأها و تستفيد اكثر من الكلام الي قلته ،، لان ممكن شرحت بطريقه سريعه و ممكن تتضمن اخطاء و تقبل تحياتي ،، اريد ان افهم لا ان افهم ؟! - Mido9 - 05-12-12 السكر المغرور كتب :و عليكم السلام اخي ،، ماشاء الله عليك , و الله مبدع ,, جزاك الله خيرا اخي الفاضل , بارك الله فيك . و لكن هلا تعطيني روابط لتلك الكتب التي تحدثني عنها حتى استفيد اكثر و اكثر ؟ و جزاك الله خيراً |