مرحبًا. أحاول ربط مشروعي Visual Basic بقاعدة بيانات MySQL باستخدام xampp. لقد قمت بتنزيل SQL vbconnector من هذا الموقع

برمجة


أحاول ربط مشروعي Visual Basic بقاعدة بيانات MySQL باستخدام xampp. لقد قمت بتنزيل SQL vbconnector من هذا الموقع https://dev.mysql.com/downloads/connector/net/
ولكن عندما أحاول تصحيح مشروعي، يقرأ كل أمر mysql خطأً وإذا ذهبت وأعدت إضافة مرجع mysql تختفي جميع الأخطاء، ولكن بعد ذلك إذا قمت بتصحيح الأخطاء مرة أخرى، تحدث نفس مشكلة التصحيح.

ما حاولت:

Imports MySql.Data.MySqlClient
Imports System.IO
Module databaseconn
    Public conn As MySqlConnection
    Public dr As MySqlDataReader
    Public flag As Boolean
    Public dt As DataTable
    Public da As MySqlDataAdapter
    Public i As Integer
    Public ds As DataSet
    Public cmd As MySqlCommand
    Public result As Boolean

    Public Function dbconn() As Boolean
        Try
            If conn.State = ConnectionState.Closed Then
                conn.ConnectionString = "server=localhost;username=root;password=;database=database"
                result = True
            End If
        Catch ex As Exception
            result = False
            MsgBox(ex.Message)

        End Try
        Return result
    End Function
End Module

الحل 1

لا يفعل هذا الرمز أي شيء مع قاعدة البيانات، لذلك من الصعب معرفة ماهية مشكلتك. كل ما يفعله هذا الرمز هو تعيين سلسلة اتصالات (والتي سأعود إليها لاحقًا) ولا شيء آخر: الاتصال غير قابل للاستخدام – ويتم التعامل معه بشكل سيء على أي حال.

عندما تطرح سؤالاً، يجب عليك تضمين المعلومات ذات الصلة: “عندما أحاول تصحيح مشروعي، يقرأ كل أمر من أوامر MySQL خطأ” لا يخبر أحدًا بأي شيء لأننا لا نستطيع رؤية التعليمات البرمجية التي تفعل أي شيء بكائن Command، أو معرفة ما هو قد تكون رسائل الخطأ.
تحتوي رسائل الخطأ على قدر كبير من المعلومات إذا قرأتها بعناية – بدءًا من السطر الذي أظهر فيه الملف المشكلة، وحتى وصف المشكلة التي تم العثور عليها. لذا ابدأ هنا: كيفية كتابة التعليمات البرمجية لحل مشكلة، دليل المبتدئين الجزء 2: أخطاء في بناء الجملة[^] – يتحدث عن أخطاء في بناء الجملة، ولكن أخطاء وقت التشغيل تميل إلى تقديم نفس المعلومات بشكل مختلف قليلاً.

هناك أيضًا مقالة جيدة هنا: طرح الأسئلة هو مهارة[^] والذي يشرح كيفية طرح سؤال حتى تحصل على إجابة مفيدة.

بالعودة إلى الكود الذي تظهره، هناك ثلاث مشاكل يمكنني رؤيتها هناك:
1) لا ينبغي أبدًا أن تكون كلمة المرور الخاصة بك لقاعدة بيانات متعددة المستخدمين فارغة، ولا ينبغي استخدام اسم المسؤول الافتراضي – فالقيام بذلك يتيح لأي شخص يريد فعل أي شيء بقاعدة البيانات الخاصة بك: سرقتها، أو مزجها للحصول على فدية، أو تدميرها على سبيل المثال. قم بتعيين كلمة مرور جيدة وقوية لحساب المسؤول المعاد تسميته وستكون أكثر أمانًا.
2) لا تقم بترميز سلاسل الاتصال في التعليمات البرمجية الخاصة بك: فهذا يعني أنه عندما تقوم بتحريرها، يجب عليك تغييرها لخادم الإنتاج (أو إجراء اختبار أسوأ ضد خادم الإنتاج وهو أمر انتحاري) وإصدار تعليمات برمجية غير مختبرة بشكل فعال! يمكن أن تؤثر الأخطاء من هذا القبيل بشكل سيء على العملاء وتؤثر سلبًا على سمعتك ورصيدك البنكي… استخدم ملف التكوين للاحتفاظ بسلسلة الاتصال حتى لا يلزم تغيير الرمز عند تحريره.
3) لا تعيد استخدام اتصال واحد بقاعدة البيانات: قم بإنشائه عندما تحتاج إلى واحد داخل ملف Using كتلة وسيقوم النظام بإغلاقه والتخلص منه عند الانتهاء منه. ليست موارد هذه الاتصالات شحيحة فحسب، بل يمكن أن تسبب لك مشاكل حقيقية إذا قمت بفتح DataReader على اتصال ثم حاولت إعادة استخدام نفس الاتصال لإدراج جدول أو تحديثه: سيلقي الخادم خطأً لأن القارئ لا يزال يستخدم اتصال.

コメント

タイトルとURLをコピーしました