amgadtamer كتب :هذه المسألة معروفة وهي تتعلق ب sql injection وحقيقة اتعجب حيث أغلب الأعضاء في المنتدي القديم وهنا يستخدمون نفس الطريقه وهي تمرير النصوص في جمل sql علي ما يبدوا أنها مدرسه واحده أو ربما القص واللصق
انت تريد أن تعرف المترتب علي هذا أقول لك وبفضل الله انه يمكن اختراق برنامجك بالكامل والعبث به عموما استخدم البارميتر او ال الاجراءت المخزنه
http://vb4arb.com/vb/thread-4437-post-21052.html
اشكرك اخى امجد
عدلت الكود المستخدم إلى التالى
كود :
' التأكد من إسم القسم غير مسجل
Dim cn As New SqlConnection(Con_STR)
Dim x As String
[COLOR="#FF0000"] x = "select *from dep where dep_nm = @dep_nm"
Dim cm1 As New SqlCommand
cm1.Parameters.AddWithValue("@dep_nm", dep_nm_tx)[/COLOR]
Dim sda As New SqlDataAdapter(x, cn)
Dim ds As New DataSet
sda.Fill(ds)
Dim dt As DataTable = ds.Tables(0)
If dt.Rows.Count > 0 Then
MessageBox.Show("هذا القسم مسجل من قبل بقاعدة البيانات", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
dep_nm_tx.Focus()
Exit Sub
End Ifولم يظهر الكود اناليزر أى مشكلة ولكن المشكلة هى عند محولة الحفظ فى قاعدة البيانات تظهر تلك الرسالة فى الجزء السابق من الكود
إقتباس :Must declare the scalar variable "@dep_nm".
برجاء التوضيح ؟؟
