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

أفضل وأبسط طريقة للتعامل مع ado.net

مغلق
بدأه Qnifo2006 في 8 مايو 2007 · 4 رد · 998 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

Dim cn As New OleDb.OleDbConnection(connString)

cn.Open()

Dim sqlStatement As String = "UPDATE [Tabel ] SET [Field]" & " = 5000 WHERE [Field] =9999"

Dim cmd As New OleDb.OleDbCommand()

cmd.Connection = cn

cmd.CommandText = sqlStatement

cmd.ExecuteNonQuery()

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

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

ولكن مع عملية اظهار البيانات فيمكن استخدام عدة طرق منها:

Dim cmd As New OleDb.OleDbCommand("SELECT * FROM [ Tabel ]", cn)

Dim dr As OleDb.OleDbDataReader = cmd.ExecuteReader()

Do While dr.Read()

ListBox1.Items.Add(CInt(dr.Item("Field")))

Loop

dr.Close()

يتم هنا عرض السجلات واحدا تلو الاخر حتى النهاية. وتفيد بحالة الرغبة في وضع قيم في اداة من ليست بوكس أو ما شابه.

اما اذا أردت الحصول على سجل كامل وبسحبة واحدة فيمكن استخدام التالي:

Dim cn As System.Data.OleDb.OleDbConnection

Dim cmd As System.Data.OleDb.OleDbDataAdapter

Dim ds As New System.Data.DataSet()

cn = New System.Data.OleDb.OleDbConnection(constring)

cmd = New System.Data.OleDb.OleDbDataAdapter("select * from Categories", cn)

cn.Open()

cmd.Fill(ds)

cn.Close()

وهنا تم وضع كل السجلات بالداتا سيت ويمكنك استخدام احدى الادوات مثل الدبي قريد لعرض هذا السجل دفعة واحدة

هل رأيت لا يوجد كود كثير لترهق نفسك به

#2

الطريقه جميله جدا وانا بستخدمها فى نظامين

Connected Mode

Or

Online Mode

وكمان

Disconnectd Mode

Or

OffLine Mode

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

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

-waf :)

#3

شكرا على الرد .

وارجوا ان يكون هذا ذا فائدة.

ما اردت ان أوضحه هو انني وجدت طرق برمجية بالانترنت ولكنها كانت طويلة ومعقدة بشكل لم ارى ان هناك ظرورة له.

لان هذا الكود هنا يفي بالغرض.

اذا لماذا ما رأيته.

وطالما ان احدا لم يقل ان هذا الكود لا يصلح فهو بالتاكيد صالح وكامل.

وشكرا مرة اخرى

#4

لا اجد شيئا مميزا بها لكن لو وضعت هذه الطرق بداخل class لاصبحت افضل على سبيل المثال جملة التعديل تصبح

class1.update   ("UPDATE [Tabel ] SET [Field]" & " = 5000 WHERE [Field] =9999")

والكود الذي كتبته يكون في هذا الكائن

اي جميع الاتصال مع قاعدة البيانات يتم في هذا الكائن

كما توجد في الانترنت كثير من المقالات التي تعالج هذا الموضوع جرب البحث عن

ado.net wrapper

وفي النهاية في البرمجة لا يوجد صح مطلق ولا خطأ مطلق اي وجهة نظر

#5
اقتباس

لحد الان اعمل على مشاريع كبيرة على vb6 ولا استعمل اي معالج بسبب الضعف بها

لكن في vb.net 2005 شيء مختلف كليا حيث المعالجات تسهل الامور كثيرا وتمكن من انجاز الكثير بسرعة هذا بالاضافة الى السيطرة التامة على الاتصال مع قاعدة البيانات والتحقق من المدخلات

انظر الى هذه المقالة باللغة الانجليزية

Using Visual Studio .NET Wizards to Create an N-Tiered Application

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

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