الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تصحيح كود

بدأه lion2008 في 18 نوفمبر 2008 · 1 رد · 444 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

شباب انا عامل كود لعملية البحث عن مهمةمعينه لموظف حيث تتم العملية بادخال موضوع المهمة بالكامل أو حتى كلمة واحدة في Textbox2.Text

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

كتبت الكود التالي لكن ما يرجع شيء

ارجوا المساعدة في تصحيحة حيث واني اعتقد ان الخطأ في جملة الاستعلام select وتحديدا بعد كلمة like في نهاية السطر الثاني

sql = "select task.t_no,users.u_name,task.t_name,task.t_sdate,task.t_udate,task.t_type,d_name from task,users,department where users.u_no=task.t_to and department.d_no=task.d_no and task.t_name like '% TextBox2.text %' and task.t_type<" & 2 & "ORDER BY [u_name],[t_no]"

sqlcon.Open()

cmd = New SqlCommand(sql, sqlcon)

dread = cmd.ExecuteReader

If dread.Read = False Then

dread.Read()

sqlcon.Close()

Label4.Text = "موضوع المهمة غير موجودة"

Exit Sub

End If

dread.Close()

sqlcon.Close()

da = New SqlDataAdapter(sql, sqlcon)

Dim ds As New DataSet

da.Fill(ds, "task,users,department")

Dim dr As DataRow = ds.Tables(0).Rows(0)

GridView1.DataSource = ds.Tables(0)

GridView1.DataBind()

تم تعديل هذه المشاركة بواسطة lion2008 في 18 نوفمبر 2008 في 18:26

#2

ما هو الهدف من الريدر هذا الذي تستخدمه ما دمت استخدمت آدابتر في النهاية؟

إذا كنت تريد التأكد من وجود بيانات فلا تحتاج إلى هذا كله. يمكنك معرفة عدد الصفوف من الـtable نفسها

if ds.Tables(0).rows.count =0 then

.

.

.

و نقطة أخرى بالنسبة لجملة الـSQL. تجنب دائماً إدخال البيانات إلى جملة WHERE عن طريق شبك النصوص لأن هذا يعرضك لخطر أمني هو الـSQL Injection. و أنصحك أن تستخدم الـparameters بدلاً منه.

تم تعديل هذه المشاركة بواسطة System Down في 19 نوفمبر 2008 في 10:15

مواضيع مشابهة