تقييم الموضوع :
  • 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
نعم اخى الحبيب
فالعامل ما بينك وبين قاعدة البيانات
هو الاتصال بالانترنت 

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

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

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

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


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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] حفظ بيانات muaamar 2 105 , 02:38 PM
آخر رد: muaamar
Information نسخ واسترجاع قاعدة بيانات SQL أبو خالد الشكري 5 178 22-06-22, 08:22 PM
آخر رد: سعود
  [سؤال] ربط مجموعة بيانات بقسم معين للطباعة safralfahd 2 191 11-06-22, 01:59 AM
آخر رد: mrfenix93
  طلب قاعدة بيانات linesoft 2 239 28-05-22, 09:21 PM
آخر رد: linesoft
  أرجو المساعدة العاجلة:الاتصال بقاعدة بيانات SQLLITE dr.programming 12 778 23-05-22, 11:35 AM
آخر رد: ابو محمد محمد محمد
  قاعدة بيانات ضمن المشروع flawer69 2 298 22-05-22, 03:35 PM
آخر رد: DR.YASER
  ما هو نوع البيانات الخاص بالصور فى قاعدة بيانات Accsess ؟ mmaalmesry 1 250 21-05-22, 11:52 PM
آخر رد: سعود
  انشاء قاعدة بيانات SQL SERVER +عمل أتاتش + جداول+حقول بالكود DR.YASER 4 644 20-05-22, 02:47 PM
آخر رد: DR.YASER
  [سلسلة تعليمية] انشاء قاعدة بيانات +جداول+حقول بالكود .تطوير للمشروع السابق DR.YASER 3 372 19-05-22, 07:05 PM
آخر رد: DR.YASER
  [كورس] انشاء قاعدة بيانات فارغة و جديدة أثناء التشغيل-درس مهم و مثال DR.YASER 9 601 19-05-22, 04:43 AM
آخر رد: DR.YASER

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


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