تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ما الخطأ الذى يتوقع حدوثه هنا وطريقة تفاديه ؟
#3
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".


برجاء التوضيح ؟؟
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
ما الخطأ الذى يتوقع حدوثه هنا وطريقة تفاديه ؟ - بواسطة a.amin_mybb_import4489 - 10-10-12, 02:48 PM


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


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