تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
اريد ان افهم لا ان افهم ؟!
#1
السلام عليكم

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

كل الى بعمله اني حافظ اماكن الاكواد و بطبق و خلاص Sad

فا كنت حابب افهم وظيفة بعض الاكواد .
على سبيل المثال الان لدي هذا الكود بإستخدام قاعده اكسيس وظيفته اظهار رساله لو الباسورد صحيح
PHP كود :
Dim saveinto As New OleDb.OleDbCommand
        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 "')"
        
Dim sda As New OleDbDataAdapter(SQLstrconn)

        
sda.Fill(DataSet1)
        
conn.Open()
        If 
DataSet1.Tables(0).Rows.Count 0 Then
            MsgBox
("Yes")
        Else
            
MsgBox("No")
        
End If 
و لكن له يمكن لاي شخص ان يشرح لي معنى الاكواد

حيث انني لا افهم معنى الـ oledb و هذه الاشياء

فقط اقوم بالنسخ Sad

ياريت لو احد يتكرم بشرح كل سطر ووظيفته .

و اسف لو بتقل عليكم بس غرضي اني اكون فاهم حتى اتجنب المشاكل مستقبلا
و شكرا لكم
الرد }}}
تم الشكر بواسطة:
#2
و عليكم السلام اخي ،،

اوكيه مو مشكله ،، بس قبل كل شيء عندك نوعين من الاتصال المنفصل و المتصل ،، و انت في حالتك استخدمت المنفصل ،، بتقولي كيف ،، لانك تاخذ نسخة وهميه من قاعدة البيانات على الرام و ما تحتاج تتصل على قاعدة البيانات بكل اجراء تسويه الا في حالات معينه لحفظ العمل التي قمت بتغيرها في البيانات ،،
طبعا هذي تفيدك في عمليات الضغط الكبير على قاعدة البيانات يعني اكثر من مستخدم على قاعدة البيانات ،،


اما الاتصال المتصل فانك راح تتعامل مع قاعدة البيانات طوال الوقت ،،
و انت شفت عينه منه بردي عليك بالموضوع الاول الي صححت لك عليه الكود .

بالنسبه لسؤالك الاخير ،، فهو عباره عن مكتبه للتعامل مع قواعد بيانات اكسس او اوراكل او اغلب القواعد البيانات الاخرى التي يدعمها الفيجول استديوا ما عدا 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


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

و تقبل تحياتي ،،
الرد }}}
تم الشكر بواسطة:
#3
السكر المغرور كتب :و عليكم السلام اخي ،،

اوكيه مو مشكله ،، بس قبل كل شيء عندك نوعين من الاتصال المنفصل و المتصل ،، و انت في حالتك استخدمت المنفصل ،، بتقولي كيف ،، لانك تاخذ نسخة وهميه من قاعدة البيانات على الرام و ما تحتاج تتصل على قاعدة البيانات بكل اجراء تسويه الا في حالات معينه لحفظ العمل التي قمت بتغيرها في البيانات ،،
طبعا هذي تفيدك في عمليات الضغط الكبير على قاعدة البيانات يعني اكثر من مستخدم على قاعدة البيانات ،،


اما الاتصال المتصل فانك راح تتعامل مع قاعدة البيانات طوال الوقت ،،
و انت شفت عينه منه بردي عليك بالموضوع الاول الي صححت لك عليه الكود .

بالنسبه لسؤالك الاخير ،، فهو عباره عن مكتبه للتعامل مع قواعد بيانات اكسس او اوراكل او اغلب القواعد البيانات الاخرى التي يدعمها الفيجول استديوا ما عدا 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


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

و تقبل تحياتي ،،

ماشاء الله عليك , و الله مبدع ,, جزاك الله خيرا اخي الفاضل , بارك الله فيك .

و لكن هلا تعطيني روابط لتلك الكتب التي تحدثني عنها حتى استفيد اكثر و اكثر ؟

و جزاك الله خيراً
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم