سؤال

أنا أستخدم كتلة تطبيق البيانات لأغلبية الوصول إلى البيانات الخاصة بي، وتحديدًا باستخدام فئة SqlHelper لاستدعاء ExecuteReader وExecuteNonQuery وما شابه ذلك من الأساليب.تمرير سلسلة الاتصال مع كل استدعاء لقاعدة البيانات.

كيف يمكنني تعديل هذا لتمكين الاتصال بقاعدة بيانات MySQL أيضًا.

هل كانت مفيدة؟

المحلول

إذا كنت قد قمت بتثبيت Enterprise Library وتعرف بالفعل كيفية الاتصال بقواعد بيانات SQL Server، فلن يكون الاتصال بقواعد بيانات MySQL أكثر صعوبة.

إحدى الطرق للقيام بذلك هي استخدام ODBC.وهذا هو ما فعلته:

  1. انتقل إلى MySQL.com وقم بتنزيل أحدث موصل MySQL ODBC.وأنا أكتب هذا هو 5.1.5.لقد استخدمت الإصدار 64 بت، لأن لدي نظام التشغيل Vista 64 بت.
  2. قم بتثبيت موصل ODBC.اخترت استخدام الإصدار بدون تثبيت.لقد قمت للتو بفك ضغطه وتشغيل Install.bat في موجه أوامر المسؤول.ربما يعمل إصدار MSI بشكل جيد، لكنني فعلت ذلك بهذه الطريقة عندما قمت بتثبيت الموصل 3.51.
  3. تحقق من التثبيت عن طريق فتح لوحة تحكم ODBC الخاصة بك والتحقق من علامة التبويب برامج التشغيل.يجب أن تشاهد برنامج تشغيل MySQL ODBC 5.1 مدرجًا هناك.يبدو أنه يتعايش بسلام مع الإصدار 3.51 الأقدم إذا كان لديك ذلك بالفعل.بالإضافة إلى ذلك، فإنه يتعايش بسلام مع موصل .NET إذا كان مثبتًا أيضًا.
  4. في هذه المرحلة، ستفعل ما قمت به للاتصال بقاعدة بيانات SQL Server.كل ما تحتاج إلى معرفته هو ما يجب استخدامه لسلسلة الاتصال.
  5. وهنا ما يبدو لي:
  6. بالطبع يمكنك تعيين "الاسم" على ما تريد.
  7. إذا كانت هذه هي قاعدة البيانات الوحيدة لديك، فيمكنك إعدادها كقاعدة بيانات افتراضية مثل هذا:
  8. قم بالوصول إلى بياناتك في التعليمات البرمجية الخاصة بك كما تفعل دائمًا!فيما يلي مثال لنص SQL عادي:
    public List<Contact> Contact_SelectAll()
    {
        List<Contact> contactList = new List<Contact>();
        Database db = DatabaseFactory.CreateDatabase("MySqlDatabaseTest");
        DbCommand dbCommand = db.GetSqlStringCommand("select * from Contact");
        using (IDataReader dataReader = db.ExecuteReader(dbCommand))
        {
            while (dataReader.Read())
            {
                Contact contact = new Contact();
                contact.ID = (int) dataReader["ContactID"];
                client.FirstName = dataReader["ContactFName"].ToString();
                client.LastName = dataReader["ContactLName"].ToString();
                clientList.Add(client);
            }
        }

        return clientList;
    }

هناك طريقة أخرى للقيام بذلك وهي إنشاء مزود MySql واستخدامه. هذا الرجل فعل ذلك.لقد تعلمت كيفية القيام بذلك عن طريق تكييف هذه التعليمات للاتصال الوصول.أوه، وإليك بعض نماذج سلسلة اتصال MySql.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top