تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] الاضافة لقاعدة بيانات سيكول سيرفر باستضافة مدفوعة
#1
السلام عليكم

في البداية انا حديث الاستخدام لسيكول سيرفر  2014

استخدمت استضافة تجريبية قبل الدفع للتاكد من الاكواد قبل اي شيء

صممت قاعدة بيانات بسيطة بسيكول سيرفر 2014   وفيجول بيسك دوت نت 2010
رفعتها الي الاستضافة
قمت بالاتصال وكل شيء تمام وظهر الجدول عندي بالبيانات

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

استخدمت الكود التالي للاضافة ولكن لايضيف شيء الكود تعديل للاكواد السابق استخدمها مع الاكسيس .


PHP كود :
   Public DTB As BindingSource
    
Public ds As New DataSet
    
Public da As New SqlDataAdapter

 
Private Sub ConnectSERVER()
 
              Dim cmd As SqlCommand = New SqlCommand("select * from Table_TB"conns)
 
       da = New SqlDataAdapter(cmd)
 
       Dim builder As SqlCommandBuilder = New SqlCommandBuilder(da)
 
       da.Fill(ds"Table_TB")
 
       DataGridView1.DataSource ds
        DataGridView1
.DataMember "Table_TB"
 
       DataGridView1.Refresh()
 
   End Sub


    Private Sub Form1_Load
(sender As System.ObjectAs System.EventArgsHandles MyBase.Load
        Try
            ConnectSERVER
()
 
       Catch ex As Exception
            MsgBox
("يوجد مشكلة بالاتصال بالسيرفر")
 
       End Try

   End Sub
    Sub INSERTDATA
()
 
       Try
            Dim MAXID 
As Integer Me.ds.Tables("Table_TB").Compute("Max(ID)""ID >= 0") + "1"
 
           Using cmd As New SqlCommand("insert into Table_TB (ID,NAME_TB,NOTE_TB) values(@ID,@NAME_TB,@NOTE_TB)"conns)
 
               cmd.Parameters.AddWithValue("@ID", (MAXID))
 
               cmd.Parameters.AddWithValue("@NAME_TB", (TextBox3.Text))
 
               cmd.Parameters.AddWithValue("@NOTE_TB", (TextBox4.Text))
 
               conns.Open()
 
               cmd.ExecuteNonQuery()
 
               conns.Close()
 
           End Using
            da
.Update(ds"Table_TB")
 
           ds.AcceptChanges()
 
           MsgBox("تم الاضافه والحفظ بنجاح")
 
       Catch ex As Exception
            MsgBox
("فشلت العملية")
 
       End Try
 
   End Sub 
الرد }}}
تم الشكر بواسطة:
#2
استخرج كود الاضافة من Try
وقم بالتجربة الاضافة حتى تظهر رسالة الخطاء 
وقم بوضع رسالة الخطاء هنا حتى تبان اين المشكلة تماماً

سؤال بخصوص الـ ID
هل هو ترقيم تلقائي ام انه عمود رقمي فقط وانت تقوم بالترقيم اليدوى

لان اذا كان تلقائي

فاجعل كود الاضافة بهذا الشكل
كود :
(NAME_TB,NOTE_TB)
(@NAME_TB,@NOTE_TB)


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

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: سعود
#3
(06-07-18, 06:16 PM)elgokr كتب :
استخرج كود الاضافة من Try
وقم بالتجربة الاضافة حتى تظهر رسالة الخطاء 
وقم بوضع رسالة الخطاء هنا حتى تبان اين المشكلة تماماً

سؤال بخصوص الـ ID
هل هو ترقيم تلقائي ام انه عمود رقمي فقط وانت تقوم بالترقيم اليدوى

لان اذا كان تلقائي

فاجعل كود الاضافة بهذا الشكل
كود :
(NAME_TB,NOTE_TB)
(@NAME_TB,@NOTE_TB)


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

فعلا اخي الكريم كما قلت

لان حقل الايدي ترقيم تلقائي

لي 3 اسئلة بنفس الموضوع

- وانا بضيف حدث خطا معي بعمود الترقيم في الاعداد الظاهرة    ===     الصف 5 لم يظهر وظهر 1-2-3-4-6-7-

هل في طريقة لعدم ظهور هذا الخطا

- ثانيا اثناء الاضافة مرة يضيف واخري يظهر خطا بالاضافة هل هذا طبيعي في السيرفرات اونلاين

- اريد جعل الاضافة بطريقة الاجراءات المخزنة واستخدمت السطر التالي قبل الاضافة وتوقفت عملية الاضافة

PHP كود :
 Sub INSERTDATA()
        Try
            Dim cmd As New SqlCommand("insert into Table_TB(NAME_TB,NOTE_TB) values(@NAME_TB,@NOTE_TB)"conns)
            cmd.CommandType CommandType.StoredProcedure
            cmd
.Parameters.AddWithValue("@NAME_TB", (TextBox3.Text))
            cmd.Parameters.AddWithValue("@NOTE_TB", (TextBox4.Text))
            conns.Open()
            cmd.ExecuteNonQuery()
            conns.Close()
            da.Update(ds"Table_TB")
            ds.AcceptChanges()
            ConnectSERVER()
            MsgBox("نجاح وحفظ الاضافة")
        Catch ex As Exception
            MsgBox
("خطا في عملية الاضافة")
        End Try
    End Sub 
الرد }}}
تم الشكر بواسطة:
#4
PHP كود :
cmd.ExecuteNonQuery()
 
           da.Update(ds"Table_TB")
 
           ds.AcceptChanges() 

اخي الكريم السطران الثاني والثالث لا علاقة لهما بالاول حيث ان التحديث يكون مباشر على القاعدة وليس على الجدول المؤقت ds
الرد }}}
تم الشكر بواسطة:
#5
(06-07-18, 07:02 PM)سعود كتب :
PHP كود :
cmd.ExecuteNonQuery()
 
           da.Update(ds"Table_TB")
 
           ds.AcceptChanges() 

اخي الكريم السطران الثاني والثالث لا علاقة لهما بالاول حيث ان التحديث يكون مباشر على القاعدة وليس على الجدول المؤقت ds


جزاك اللة كل خير اخي سعود علي الملاحظة

طلب بسيط

- وانا بضيف حدث خطا معي بعمود الترقيم في الاعداد الظاهرة    ===     الصف 5 لم يظهر وظهر 1-2-3-4-6-7-

هل في طريقة لعدم ظهور هذا الخطا وتفادية مرة اخري اثناء الاضافة

- ثانيا اثناء الاضافة مرة يضيف واخري يظهر خطا بالاضافة هل هذا طبيعي في السيرفرات اونلاين
الرد }}}
تم الشكر بواسطة:
#6
بخصوص الترقيم التلقائي
كل ما عليك عمل كما وضحت لك مسبقاً عند الاضافة
لا تضع عمود الترقيم 

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

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

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: سعود
#7
(06-07-18, 07:33 PM)elgokr كتب :
بخصوص الترقيم التلقائي
كل ما عليك عمل كما وضحت لك مسبقاً عند الاضافة
لا تضع عمود الترقيم 

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

تحياتى لك

ممكن تشرح شكل كود فحص الاتصال يبقي ازاي  فضلا وليس امر
الرد }}}
تم الشكر بواسطة:
#8
بخصوص كود التحقق من السيرفر
كود :
If My.Computer.Network.Ping("51.22.34.188") = False Then
           MsgBox("Server is Not Working...")
Exit Sub
       End If

بخصوص كود التحقق بفتح الاتصال بقاعدة البيانات
فمثلاً انت قمت بعمل كود فتح الاتصال
كود :
sqlcon.Open()

ضع اسفل منه كود التحقق
كود :
If Not sqlcon.State = ConnectionState.Open Then
                MsgBox("Sql Server Can't Open.")
Exit Sub
            End If

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

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

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة:
#9
(06-07-18, 08:51 PM)elgokr كتب : بخصوص كود التحقق من السيرفر
كود :
If My.Computer.Network.Ping("51.22.34.188") = False Then
           MsgBox("Server is Not Working...")
Exit Sub
       End If

بخصوص كود التحقق بفتح الاتصال بقاعدة البيانات
فمثلاً انت قمت بعمل كود فتح الاتصال
كود :
sqlcon.Open()

ضع اسفل منه كود التحقق
كود :
If Not sqlcon.State = ConnectionState.Open Then
                MsgBox("Sql Server Can't Open.")
Exit Sub
            End If

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

تحياتى لك

هو انتا تقصد بالكود الاول الخاص بفحص السيرفر   ==   دة فحص حالة النت

والكود الثاني  كود فتح الاتصال اذا كان الاتصال مفتوح يعني قاعدة البيانات متفاعل معها وتم الاتصال بها

هل ما فهمت صحيح
الرد }}}
تم الشكر بواسطة:
#10
نعم اخى الحبيب
فالعامل ما بينك وبين قاعدة البيانات
هو الاتصال بالانترنت 

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

من ثم ياليه فتح واغلاق الاتصال بقاعدة البيانات

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

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


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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل من الممكن العمل على قاعدة بيانات اكسل على الفيجوال بيسك خالد كامل1 4 80 24-03-24, 02:00 AM
آخر رد: خالد كامل1
  [سؤال] أتمنى اجابة وافية:عمل برنامج بقاعدة بيانات SQL دون حاجة تثبيت SQLSERVER dr.programming 6 598 19-03-24, 08:56 AM
آخر رد: سلامه محمد11
  استعلام select عن مجموعة بيانات Adel27213 1 172 15-03-24, 01:11 AM
آخر رد: justforit
  تعديل بيانات عمود DataGridView دفعة واحدة مصمم هاوي 2 164 05-03-24, 08:27 PM
آخر رد: مصمم هاوي
  [VB.NET] تحديث بيانات فى كلاس من جدول سيكوال asdfar1977 6 184 26-02-24, 01:07 AM
آخر رد: asdfar1977
  كيفية جمع أرقام عمود فى الداتا جريد فيو بناءاً على بيانات معينة heem1986 5 222 25-02-24, 11:26 PM
آخر رد: heem1986
  [C#.NET] طباعة بيانات داتا جرد فيو h2551996 0 83 25-02-24, 02:31 PM
آخر رد: h2551996
  [VB.NET] معرفة بيانات الجهاز محمد بوقزاحة 1 309 21-02-24, 11:44 PM
آخر رد: AHMED213
  كيفية انشاء سكريبت لقاعدة بيانات من خلال الكود heem1986 1 193 20-02-24, 12:00 AM
آخر رد: Kamil
  كيفية تنفيذ أمر عرض بيانات من فورم ثان مصمم هاوي 7 329 19-02-24, 12:28 AM
آخر رد: مصمم هاوي

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


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