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

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

حياكم الله عزوجل
استخدم هذا الكود اولا اقوم بالبحث  عن رقم ID اذا وجده يذهب لجزء التحديث
واذا لم يجده يضفيه كسجل جديد
المشكله ان يحدث تعليق حوالي 3 ثواني حتي يتم التنفيذ لكن التنفيذ سليم فقط اريد ان يكون اسرع او لا يحدث تعليق
الكود المستخدم
اولا البحث عن ال id موجود ام لا
PHP كود :
Dim search_command As New MySqlCommand("SELECT * FROM `student` WHERE `Id` = @id"connection)

 
       search_command.Parameters.Add("@id"MySqlDbType.Int64).Value TextBox1.Text

        Dim adapter 
As New MySqlDataAdapter(search_command)

 
       Dim table As New DataTable()

 
       Try

            adapter
.Fill(table)

 
           If table.Rows.Count 0 Then

goto Updatesub

            Else

goto Savesub
            End 
If

 
       Catch ex As Exception

            MessageBox
.Show("ERROR")

 
       End Try 
كود التحديث
PHP كود :
Updatesub:
 
 Private Sub ButtonInsert_Click(sender As ObjectAs EventArgsHandles ButtonInsert.Click

        Dim insert_command 
As New MySqlCommand("INSERT INTO `student`(`FullName`, `Address`, `BirthDate`) VALUES (@fln,@adds,@brd)"connection)
 
       insert_command.Parameters.Add("@fln"MySqlDbType.VarChar).Value TextBox2.Text
        insert_command
.Parameters.Add("@adds"MySqlDbType.VarChar).Value TextBox3.Text
        insert_command
.Parameters.Add("@brd"MySqlDbType.Date).Value DateTimePicker1.Value

       
If command.ExecuteNonQuery() = 1 Then
            MessageBox
.Show("Data Inserted")

 
       Else
            MessageBox
.Show("Data NOT Inserted")
 
       End If

 
   End Sub 
كود الاضافه
PHP كود :
Savesub:

 
       Dim update_command As New MySqlCommand("UPDATE `student` SET `FullName`=@fln,`Address`=@adds,`BirthDate`=@brd WHERE `Id` = @id"connection)
 
       update_command.Parameters.Add("@id"MySqlDbType.Int64).Value TextBox1.Text
        update_command
.Parameters.Add("@fln"MySqlDbType.VarChar).Value TextBox2.Text
        update_command
.Parameters.Add("@adds"MySqlDbType.VarChar).Value TextBox3.Text
        update_command
.Parameters.Add("@brd"MySqlDbType.Date).Value DateTimePicker1.Value

       
If command.ExecuteNonQuery() = 1 Then
            MessageBox
.Show("Data Updated")

 
       Else
            MessageBox
.Show("Data NOT Updated")
 
       End If

 
   End Sub 
اذا كنت تتعامل مع قاعدة بيانات في استضافة فهذا طبيعي لانك تتصل بقاعدة البيانات مباشرة
وهذه الطريقة لها مخاطر كبيرة لامكانية تسرب نص الاتصال والذي يحتوى بيانات الاتصال كاملة
بما فيها الرابط واسم المستخدم وكلمة المرور

الافضل ان تتعامل بطريقة ارسال البيانات باسلوب POST وهي معروفة غالبا
أو أن تستخدم اسلوب WebService ولو انه ليس سهلا لمن لا يعرفها
وعليكم السلام ورحمة الله وبركاته

الاسباب التى تترتب على تاخير تنفيذ الامر وما شبه

1- سرعة اداء السيرفر الذى يحتوى على قاعدة البيانات.
2- حجم قاعدة البيانات من البيانات الداخلية عند اتمام الاستعلام
3- طريقة الاستعلام عن طريق نص او رقم لحجم الذاكرة المستهلكة عند التنفيذ
4- كثرة تنفيذ الامر فى اوان واحد...

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

وبخصوص رقم 3 خارج النطاق حيث انك تقوم بالبحث عن طريق رقم وليس نص
ولكن انصح ان تجعل نوع الاستعلام 
PHP كود :
Int32
بدلاً من
Int64 

فلا يوجد اى فرق بينهم ولكن تجنباً من حالة السيرفر
بخصوص 1 و 4 فهم الاهم واكثرهم اهمية هو رقم 4
يجب وضع كود فى بداية الزر وهو كالتالى
كود :
Button1.Enabled = False

وينتهى بكود ويفضل قبل ظهور الرسالة وهو
كود :
Button1.Enabled = True

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

ولتجنب ذلك وحتى لا يسبب فى تعليق الامر وتنفيذه
وكذلك من لعدم عمل لود وحمل على السيرفر يفضل استخدام الكود السابق

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

تحياتى لك
وتمنياتى لك التوفيق
الاخ GameOver   شكرا لك
الاخ elgokr جزاك الله خيرا علي التوجيه
الشكر لله

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