تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
اسناد بينات الاتصال برمجياً عبر المعالج - نص الاتصال-السيرفر-القاعدة-بيانات اخرى
#10
السلام عليكم و رحمة الله و بركاته
لنتابع الكود مع بعض
دالة التحميل الرئيسة في النموذج الاب

PHP كود :
   Private Sub Frm_Main_Load(sender As ObjectAs EventArgsHandles MyBase.Load
        CreateKeyes
()
 
       Disable_Items()
 
       Ts_Login_Click(sendere)
 
   End Sub 
يتم استدعاء دالة انشاء مفاتيح في مسجل النظام و هي موجودة في الكلاس الخدمي Ml_ServerSetting.vb
وهي كما يلي:
PHP كود :
   Public Sub CreateKeyes()

 
       If Registry.CurrentUser.OpenSubKey(MainKeyNameIs Nothing Then
            Dim ApplicationSetting 
As RegistryKey Registry.CurrentUser.CreateSubKey(MainKeyName)
 
           ConnectionStr ApplicationSetting.CreateSubKey("UserConnectionString"'حقل لنص الاتصال
            ConnectionStr = ApplicationSetting.CreateSubKey("ServerName") '
حقل لاسم السيرفر
            ConnectionStr 
ApplicationSetting.CreateSubKey("DataBaseName"'حقل لقاعدة البيانات
            ConnectionStr = ApplicationSetting.CreateSubKey("Authentication_Mode") '
حقل طريقة الدخول
            ConnectionStr 
ApplicationSetting.CreateSubKey("Server_UserName"'حقل لاسم مستخدم السيرفر
            ConnectionStr = ApplicationSetting.CreateSubKey("Server_Password") '
حقل كلمة المرور للسيرفر
            ConnectionStr 
ApplicationSetting.CreateSubKey("CurrentApp_User"'حقل المستخدم الحالي
            ConnectionStr = ApplicationSetting.CreateSubKey("Current_UserKind") '
حقل لنوع المستخدم
            ConnectionStr 
ApplicationSetting.CreateSubKey("LastUserLogin"'حقل اخر مستخدم ولج للبرنامج

            DefaultSetting()
        End If
    End Sub 

الدالة تنشئ مفاتيح في مسار محدد داخل العقدة Current_User و ضمن مجلد محدد نستمد اسمه من المتغير MainKeyName
و هو معرف في اعلى الكلاس كما يلي 
PHP كود :
   Public ReadOnly MainKeyName As String "MyApplication_Keys" 
هذا يعني اننا سنشئ مجلد بالاسم  MyApplication_Keys و داخله ستكون المفاتيح مع قيمها الافتراضية المرسلة في الدالة التالية
PHP كود :
   Private Sub DefaultSetting()
 
       Try
            If Not IsNothing
(Registry.CurrentUser.OpenSubKey(MainKeyName)) Then

                SetValueKey
("UserConnectionString""")
 
               SetValueKey("ServerName""")
 
               SetValueKey("DataBaseName""")
 
               SetValueKey("Authentication_Mode""")
 
               SetValueKey("Server_UserName""")
 
               SetValueKey("Server_Password""")
 
               SetValueKey("CurrentApp_User""")
 
               SetValueKey("Current_UserKind""")
 
               SetValueKey("LastUserLogin""")
 
           End If
 
       Catch ex As Exception
            MsgBox
(ex.ToString)

 
       End Try
 
   End Sub 
بعدها سياتي دور الدالة Disable_Items 

وهي لتعطيل قوائم النموذج فقط.
بعدها يتم النداء على نموذج الدخول ليفتح و اول دالة فيه يتم المناداة على تحميل جدول المستخدمين .
PHP كود :
       Cmb_UserName.DataSource Bl_Login.User_GetAll 
وهي تاتي من الكلاس الخاص بالمستخدمين , و بداخل هذا الكلاس دوال تستمد كائنات الاتصال و ما يتعلق بالسيرفر من كلاس طبقة الاتصال 
لنلقي نظرة.
هذه دالة جلب المستخدمين من كلاس المستخدمين
PHP كود :
       Public Function User_GetAll() As DataTable
            Dim Dal 
As Dal.DataAccessLayer = New Dal.DataAccessLayer
            If Dal
.GetConnectionString IsNot Nothing Then
                Dim Dt 
As New DataTable
                Dt 
Dal.SelectData("User_GetAll"Nothing)
 
               Return Dt
            End 
If
 
           Return Nothing
        End 
Function 

كما نرى يتم النداء على كائن الاتصال من كلاس DataAccessLayer    ننتقل الى هذا الكلاس و ندقق
PHP كود :
   Public Class DataAccessLayer
        Public Shared SqlCon 
As SqlConnection
        Private ConnectionString 
As String GetValueKey("UserConnectionString")



 
       Public Sub New()
 
           If Not String.IsNullOrEmpty(ConnectionStringThen
                SqlCon 
= New SqlConnection(ConnectionString)
 
           Else
                MessageBox
.Show("نص الاتصال بالسيرفر مفقود""تنبيه"MessageBoxButtons.OKMessageBoxIcon.Information)
 
               OpenSetting()
 
           End If
 
       End Sub

        Public ReadOnly Property GetConnectionString
() As String
            Get
                If String
.IsNullOrEmpty(ConnectionStringThen
                    Return Nothing
                Else
                    Return ConnectionString
                End 
If
 
           End Get
        End Property 

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

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

اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}
تم الشكر بواسطة: عبد العزيز البسكري , ytohamy


الردود في هذا الموضوع
RE: اسناد بينات الاتصال برمجياً عبر المعالج - نص الاتصال-السيرفر-القاعدة-بيانات اخرى - بواسطة ابو ليلى - 22-06-20, 02:16 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  خطوة بخطوة بالكود وشرح الفيديو كامل اتصال فيجوال بيسك دوت نت وقاعدة بيانات SQL Server ggtt17121985 0 340 23-04-25, 09:50 AM
آخر رد: ggtt17121985
  فكرة جميلة جدا : أزي تعمل عداد لعمر البرنامج بدون قاعدة بيانات(نسخة تجريبية) ggtt17121985 0 585 14-02-25, 02:55 AM
آخر رد: ggtt17121985
  ربط ملف قاعدة بيانات اكسيس بالويب من خلال فيجوال بيسك دوت نت بسهولة ggtt17121985 0 713 19-07-24, 05:07 PM
آخر رد: ggtt17121985
  مشروع ضغط و صيانة قاعدة بيانات vb.net sql server غزة العزة 1 726 03-06-24, 05:12 PM
آخر رد: salamandal
  انشاء قاعدة بيانات اكسس بالكود Kamil 0 790 17-02-24, 10:43 PM
آخر رد: Kamil
  طريقة سهلة للاتصال بقاعدة بيانات SQL مع اضافة ايقونات للتحكم في تدفق البيانات ggtt17121985 0 1,187 06-11-23, 10:16 AM
آخر رد: ggtt17121985
  مشروع تعدد لغات للبرنامج من قاعدة بيانات MsAccess asemshahen5 6 4,245 18-05-23, 03:39 AM
آخر رد: mohamed gida
Lightbulb عمل Attach و Detach و Backup و Restore لقاعدة بيانات MS Sql Server asemshahen5 19 10,049 19-03-23, 09:01 PM
آخر رد: atefkhalf2004
Photo [VB.NET] أحتاج مساعدتكم لطباعة بيانات الفورم في كرستال ربورت Sidiki 1 952 25-02-23, 08:36 PM
آخر رد: Taha Okla
Lightbulb خطوة خطوة بالكود كورس كامل للربط بين فيجوال بيسك دوت نت مع قاعدة بيانات MYSQL ggtt17121985 0 1,519 06-01-23, 09:04 AM
آخر رد: ggtt17121985

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


يقوم بقرائة الموضوع: