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

نسخة كاملة : الاضافة لقاعدة بيانات سيكول سيرفر باستضافة مدفوعة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم

في البداية انا حديث الاستخدام لسيكول سيرفر  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 
استخرج كود الاضافة من Try
وقم بالتجربة الاضافة حتى تظهر رسالة الخطاء 
وقم بوضع رسالة الخطاء هنا حتى تبان اين المشكلة تماماً

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

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

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


تحياتى لك
وتمنياتى لك التوفيق
(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 
PHP كود :
cmd.ExecuteNonQuery()
 
           da.Update(ds"Table_TB")
 
           ds.AcceptChanges() 

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

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


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

طلب بسيط

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

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

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

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

تحياتى لك
(06-07-18, 07:33 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
ولا تقوم بعرض رسالة الخطاء فبالطبيعي لم يظهر اى شئ يدل على الفتح او الاغلاق

تحياتى لك
(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
ولا تقوم بعرض رسالة الخطاء فبالطبيعي لم يظهر اى شئ يدل على الفتح او الاغلاق

تحياتى لك

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

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

هل ما فهمت صحيح
نعم اخى الحبيب
فالعامل ما بينك وبين قاعدة البيانات
هو الاتصال بالانترنت 

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

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

تحياتى لك
الصفحات : 1 2