تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] اريد ان يتم تنفيذ هذا كود الحفظ او التحديث بسرعه عنذ اختيار سطر من الداتا جريد
#1
السلام عليكم ورحمه الله وبركاته

حياكم الله عزوجل
استخدم هذا الكود اولا اقوم بالبحث  عن رقم 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`[email protected],`Address`[email protected],`BirthDate`[email protected] 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 
الرد }}
تم الشكر بواسطة:
#2
اذا كنت تتعامل مع قاعدة بيانات في استضافة فهذا طبيعي لانك تتصل بقاعدة البيانات مباشرة
وهذه الطريقة لها مخاطر كبيرة لامكانية تسرب نص الاتصال والذي يحتوى بيانات الاتصال كاملة
بما فيها الرابط واسم المستخدم وكلمة المرور

الافضل ان تتعامل بطريقة ارسال البيانات باسلوب POST وهي معروفة غالبا
أو أن تستخدم اسلوب WebService ولو انه ليس سهلا لمن لا يعرفها
الرد }}
تم الشكر بواسطة: dametucorazon , dametucorazon
#3
وعليكم السلام ورحمة الله وبركاته

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

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

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

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

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

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

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

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

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

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

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}
تم الشكر بواسطة: dametucorazon , dametucorazon
#4
الاخ GameOver   شكرا لك
الاخ elgokr جزاك الله خيرا علي التوجيه
الرد }}
تم الشكر بواسطة: elgokr
#5
الشكر لله

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

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


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



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


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