تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] عمل اتتاتش للداتا بيز عند فتح البرنامج اول مرة عل جهاز العميل
#11
فى حد معاه كود زى ده بس سى شارب
الرد }}}
تم الشكر بواسطة:
#12
اى مساعدة اذا سمحتم
الرد }}}
تم الشكر بواسطة:
#13
(15-06-19, 04:15 AM)%Eman% كتب : فى حد معاه كود زى ده بس سى شارب
تفضل الكود بـ C#

الكود الاول : مرفق بالملف رقم 1

الكود الثاني : مرفق بالملف رقم 2

كود حدث اللود : مرفق بالملف رقم 3

بكدة يكون معاك الكود بـ C#

تحياتى لك
وتمنياتى لك التوفيق


الملفات المرفقة
.zip   3.zip (الحجم : 255 بايت / التحميلات : 19)
.zip   1.zip (الحجم : 706 بايت / التحميلات : 18)
.zip   2.zip (الحجم : 725 بايت / التحميلات : 19)
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: حريف برمجة , Abou Eman , sendbad100 , baha
#14
تستاهل 100 شكر 100 تقيم
الرد }}}
تم الشكر بواسطة: elgokr , elgokr , sendbad100
#15
الشكر لله والحمد لله
والحمد لله على كل حال

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: sendbad100 , Abou Eman
#16
يا ريت احد يتكرم ويعمل  فورمة الدخول
وعمل اتاش للقاعدة
فورمة جميله  بسيطة   الكل يستفيد منها
الرد }}}
تم الشكر بواسطة:
#17
(18-06-19, 01:36 AM)atefkhalf2004 كتب : يا ريت احد يتكرم ويعمل  فورمة الدخول
وعمل اتاش للقاعدة
فورمة جميله  بسيطة   الكل يستفيد منها


لا حاجة لهذا الامر اخى الكريم

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

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة:
#18
السيد الفاضل
كل هدفي هو من هذا المثال او غيره
1-عمل فورم للدخول ( عمل اتصال بقاعدة البيانات) مع تحديد القاعدة واذا كانت غير موجودة يعرض كيفية الوصول اليها formdialague
2-عمل backup and restore
ليس المقصود هو المظهر
ولكن كيفية التنفيذ
سبحان الله
ربنا واهب ناس القدرة علي ذلك
وهناك ايضا ناس غلابة وانا منهم
اتمني عمل فورم الدخول الاتاش وفروم الباك اب والرستور
الرد }}}
تم الشكر بواسطة: elgokr , asemshahen5
#19
اكرر طلبي هذا للاهمية
شكرا
الرد }}}
تم الشكر بواسطة:
#20
(31-08-18, 10:01 PM)mero5000 كتب : السلام عليكم ورحمة الله وبركاته

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

اولا : يجب ارفاق الداتا بيز بمسار المشروع ويفضل ان تكون بمجلد منفصل للترتيب فقط
مثلا المجلد باسم db  بجانب الملف التنفيذى
ثانيا : سوف نضيف بالفروم الذى يفتح اولا وليكن فروم login نضيف 2 فانكشن

كود :
Public Shared Function GETATTACHDATABASENAME() As Boolean
       On Error Resume Next
       Dim DS As New DataSet
       Dim SqlConnection1 As SqlClient.SqlConnection = New SqlClient.SqlConnection("Data Source=" + My.Computer.Name & "\SQLEXPRESS" + ";Initial Catalog=tempdb;Integrated Security=SSPI;")
       Dim str As String = "Select DISTINCT name from master.dbo.sysdatabases where name Like 'YourDbName' and has_dbaccess(Name) = 1 "
       Dim ADP As SqlClient.SqlDataAdapter
       ADP = New SqlClient.SqlDataAdapter(str, SqlConnection1)
       DS.Clear()
       ADP.Fill(DS)
       Dim i As Integer
       If DS.Tables(0).Rows.Count = 0 Then
           GETATTACHDATABASENAME = False
           MessageBox.Show(" قاعدة البيانات  'قاعدة بيانات البرنامج'" & "غير متصلة بالسرفر جارى عمل الاتصال", My.Computer.Name, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading)
       Else
           GETATTACHDATABASENAME = True
       End If
       ADP.Dispose()
       SqlConnection1.Dispose()
   End Function

نلاحظ ان المتغير str به اسم قاعدة بياناتك ....  
كود :
where name Like 'YourDbName'
نقوم فقط بتغيره لاسم الداتا بيز الخاصة بك كما هو داخل ''

ثم نقوم بإضافة الميثود التالى
كود :
 Public Shared Sub ATTACHDATABASENAME(ByVal MYDBNAME As String, ByVal f1lepathprimary As String, ByVal f1lepathlog As String)
       Try
           Dim SqlConnection1 As SqlClient.SqlConnection = New SqlClient.SqlConnection("Data Source=" + My.Computer.Name & "\SQLEXPRESS" + ";Initial Catalog=tempdb;Integrated Security=SSPI;")
           Dim CMD As SqlClient.SqlCommand = New SqlClient.SqlCommand
           CMD.CommandType = CommandType.Text
           CMD.Connection = SqlConnection1
           If SqlConnection1.State = ConnectionState.Open Then SqlConnection1.Close()
           SqlConnection1.Open()
           CMD.CommandText = "sp_attach_db " & MYDBNAME & ",'" & f1lepathprimary & "'" & ",'" & f1lepathlog & "'"
           ' OR CMD.CommandText = "CREATE DATABASE " & MYDBNAME & " ON (FILENAME = '" & f1lepath & "')FOR ATTACH"
           CMD.ExecuteNonQuery()
           SqlConnection1.Dispose()
           MessageBox.Show("تم انشاء اتصال  قاعدة البيانات  بالسرفر ", "ATTCH DATABASE", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2, MessageBoxOptions.RtlReading)
       Catch ex As Exception
           Dim result As Integer
           result = MessageBox.Show("فشل البرنامج فى انشاء اتصال  بقاعدة البيانات  بالسرفر", "ATTCH DATABASE", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2, MessageBoxOptions.RtlReading)
       End Try
   End Sub

ولا نغير بها اى شيئ التغير الوحيد فقط فى اسم الداتا بيز بالفنكشن الاولى..

هذه الاكواد هى المسئولة عن عمل اتتاتش للداتا بيز

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

كود :
If GETATTACHDATABASENAME() = False Then
           ATTACHDATABASENAME("database", Application.StartupPath & "\db\database.MDF", Application.StartupPath & "\db\database_log.LDF")
       End If

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

الان نقوم بعمل تجربة وقاعدة البيانات غير مشبوكة بالسيرفر
ستظهر رسالة تقول لك ان الداتا بيز غير متصلة بالسيرفر من الفنكشن الاولى  بعد الظغط على اوك سنجد ان الداتا بيز تم شبكها بالسيرفر
ويمكن التأكد من ssms

ملحوظة : نلاحظ ان الفنكشن من نوع Boolean والسبب هو ان كانت الداتا بيز متصلة لا يقوم بتنفيذ الكود اما ان لم تكن متصلة يقوم بالتنفيذ
       : يجب كتابة الكود الخاص باللود فروم اعلى الحدث قبل اى اكواد اخرى خاصة بالداتا بيز او الاستعلامات الاخرى لتجنب اى اكسبشن فى الرن تايم

فى النهاية اسئلكم الدعاء بظهر الغيب
تحياتى لكم جميعا

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مثال] طريقة إنشاء قاعدة sql بواسطة script برمجيا وكتابة أسمها بواسطة العميل princelovelorn 9 8,080 26-03-23, 04:24 PM
آخر رد: sanyor77
  [مقال] مشاركة البرنامج على أكثر من جهاز (قاعدة بيانات اكسيس) mr_hso 0 541 06-01-23, 05:21 AM
آخر رد: mr_hso

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


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