الكثير منا يستخدم قواعد بيانات SQL Server أثناء برمجته وكود بتعديل بيانات معينة ببساطة سيكون كالتالي
Using conn As New SqlConnection(My.Settings.AwqafDBConnectionString1)
Dim cmd As SqlCommand = conn.CreateCommand()
cmd.CommandText="UPDATE students SET sname=@sname,birthdate=@birthdate,address=@address,tel=@tel,degree=@degree where sname=@sname"
cmd.Parameters.AddWithValue("@sname", Me.txtname.Text)
cmd.Parameters.AddWithValue("@birthdate", Me.txtbirthdate.Text)
cmd.Parameters.AddWithValue("@address", Me.txtaddress.Text)
cmd.Parameters.AddWithValue("@tel", Me.txtTel.Text)
cmd.Parameters.AddWithValue("@degree", Me.txtdegree.Text)
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
End Using
ولكن هذه الطريقة لن تنجح في حال تم استخدام قواعد بيانات Access، فهو لن يعطي خطأ برمجي ولكن لن يقوم بحفظ التعديلات في قاعدة البيانات ولحل هذه المشكلة سيتم إزالة المتغيرات واستبدالها ب ؟ مع مراعاة ترتيب القيم التي ستعطي للمتغيرات حسب الترتيب التي عليه في جمله الاستعلام وذلك بالطريقة التالية
Using conn As New OleDbConnection(My.Settings.AwqafDBConnectionString1)
Dim cmd As OleDbCommand = conn.CreateCommand()
cmd.CommandText="UPDATE students SET birthdate=?,address=?,tel=?,degree=? where sname=?"
cmd.Parameters.AddWithValue("@birthdate", Me.txtbirthdate.Text)
cmd.Parameters.AddWithValue("@address", Me.txtaddress.Text)
cmd.Parameters.AddWithValue("@tel", Me.txtTel.Text)
cmd.Parameters.AddWithValue("@degree", Me.txtdegree.Text)
cmd.Parameters.AddWithValue("@sname", Me.txtname.Text)
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
End Using
ويفضل التقليل من استخدام قواعد البيانات Access لأن إمكانياتها محدودة جدا فمن استخدم قواعد بيانات SQL و قواعد بيانات Access سيلاحظ هذا الأمر وسيقرر دائما اللجوء إلى قواعد بيانات SQL أثناء برمجته